PeerTube/support/docker/production/swarm-stack.sample.yml

53 lines
1.0 KiB
YAML

version: "3.3"
services:
app:
image: peertube:stretch
environment:
PEERTUBE_HOSTNAME: my.domain.tld
PEERTUBE_PORT: 443
PEERTUBE_HTTPS: true
PEERTUBE_ADMIN_EMAIL: admin@domain.tld
PEERTUBE_DB_USERNAME: user
PEERTUBE_DB_PASSWORD: password
PEERTUBE_SIGNUP_ENABLED: true
PEERTUBE_TRANSCODING_ENABLED: true
labels: &labels
traefik.frontend.rule: "Host:my.domain.tld"
traefik.docker.network: traefik
traefik.port: "9000"
volumes:
- app_data:/usr/src/app/data
networks:
- traefik
- backend
depends_on:
- db
deploy:
labels: *labels
placement:
constraints:
- node.labels.peertube == 1
db:
image: postgres:10
environment:
POSTGRES_DB: peertube_prod
volumes:
- db_data:/var/lib/postgresql/data
networks:
- backend
deploy:
placement:
constraints:
- node.labels.peertube == 1
volumes:
app_data:
db_data:
networks:
backend:
traefik:
external: true