76 lines
1.8 KiB
Django/Jinja
76 lines
1.8 KiB
Django/Jinja
version: "{{ compose_version }}"
|
|
|
|
networks:
|
|
proxy:
|
|
name: "{{ traefik_network }}"
|
|
db:
|
|
name: peertube_db
|
|
redis:
|
|
name: peertube_redis
|
|
|
|
volumes:
|
|
db:
|
|
name: peertube_db
|
|
assets:
|
|
name: peertube_assets
|
|
redis:
|
|
name: peertube_redis
|
|
data:
|
|
name: peertube_data
|
|
config:
|
|
name: peertube_config
|
|
|
|
|
|
services:
|
|
# You can comment this webserver section if you want to use another webserver/proxy or test PeerTube in local
|
|
webserver:
|
|
image: chocobozzz/peertube-webserver:latest
|
|
volumes:
|
|
- ./peertube.conf:/etc/nginx/conf.d/peertube.template
|
|
- assets:/var/www/peertube/peertube-latest/client/dist:ro
|
|
- data:/var/www/peertube/storage
|
|
env_file: conf.env
|
|
labels:
|
|
traefik.http.routers.peertube.entrypoints: websecure
|
|
traefik.http.routers.peertube.rule: "Host(`{{ peertube_subdomain }}.{{ domain_name }}`)"
|
|
traefik.http.services.peertube.loadbalancer.server.port: 80
|
|
traefik.enable: true
|
|
networks:
|
|
- proxy
|
|
restart: unless-stopped
|
|
|
|
app:
|
|
image: "chocobozzz/peertube:{{ peertube_version }}-bookworm"
|
|
container_name: peertube
|
|
networks:
|
|
- proxy
|
|
- db
|
|
- redis
|
|
volumes:
|
|
- assets:/app/client/dist
|
|
- data:/data
|
|
- config:/config
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
env_file: conf.env
|
|
restart: unless-stopped
|
|
|
|
db:
|
|
image: "postgres:{{ postgres_version }}"
|
|
container_name: "{{ peertube_db_container_name }}"
|
|
env_file: conf.env
|
|
volumes:
|
|
- db:/var/lib/postgresql/data
|
|
networks:
|
|
- db
|
|
restart: unless-stopped
|
|
|
|
redis:
|
|
image: "redis:{{ redis_version }}"
|
|
container_name: "{{ peertube_redis_container }}"
|
|
volumes:
|
|
- redis:/data
|
|
networks:
|
|
- db
|
|
restart: unless-stopped
|