53 lines
1.0 KiB
YAML
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
|