X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=support%2Fdocker%2Fproduction%2Fdocker-compose.yml;h=e937c8b9c13535bcdf345f5b46867cfbb391448b;hb=745437e3ab402d5b8f85de6e9c09c3b6092e5904;hp=c8b89d5a29dfe8ea34ba1bf7974cf8340ee0e56e;hpb=6387f320bf10f6b6c90b338bded8d7392dead18a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/support/docker/production/docker-compose.yml b/support/docker/production/docker-compose.yml index c8b89d5a2..e937c8b9c 100644 --- a/support/docker/production/docker-compose.yml +++ b/support/docker/production/docker-compose.yml @@ -3,42 +3,33 @@ version: "3.3" services: reverse-proxy: - image: traefik - command: --api --docker # Enables the web UI and tells Træfik to listen to docker + image: traefik:v1.7 + network_mode: "host" + command: + - "--docker" # Tells Træfik to listen to docker + - "--acme.email=${TRAEFIK_ACME_EMAIL}" # Let's Encrypt ACME email + - "--acme.domains=${TRAEFIK_ACME_DOMAINS}" # Let's Encrypt ACME domain list ports: - "80:80" # The HTTP port - "443:443" # The HTTPS port - - "8080:8080" # The Web UI (enabled by --api) volumes: - /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events - ./docker-volume/traefik/acme.json:/etc/acme.json - ./docker-volume/traefik/traefik.toml:/traefik.toml restart: "always" + # If you want to use the Traefik dashboard, you should expose it on a + # subdomain with HTTPS and authentification: + # https://medium.com/@xavier.priour/secure-traefik-dashboard-with-https-and-password-in-docker-5b657e2aa15f + # https://github.com/containous/traefik/issues/880#issuecomment-310301168 peertube: # If you don't want to use the official image and build one from sources # build: # context: . - # dockerfile: ./support/docker/production/Dockerfile.stretch - image: chocobozzz/peertube:production-stretch - environment: - PEERTUBE_WEBSERVER_HOSTNAME: ${PEERTUBE_WEBSERVER_HOSTNAME} - PEERTUBE_WEBSERVER_PORT: ${PEERTUBE_WEBSERVER_PORT} - PEERTUBE_WEBSERVER_HTTPS: ${PEERTUBE_WEBSERVER_HTTPS} - PEERTUBE_DB_HOSTNAME: postgres - PEERTUBE_DB_USERNAME: ${DB_USERNAME} - PEERTUBE_DB_PASSWORD: ${DB_PASSWORD} - PEERTUBE_REDIS_HOSTNAME: redis - PEERTUBE_SMTP_USERNAME: ${PEERTUBE_SMTP_USERNAME} - PEERTUBE_SMTP_PASSWORD: ${PEERTUBE_SMTP_PASSWORD} - PEERTUBE_SMTP_HOSTNAME: ${PEERTUBE_SMTP_HOSTNAME} - PEERTUBE_SMTP_PORT: ${PEERTUBE_SMTP_PORT} - PEERTUBE_SMTP_FROM: ${PEERTUBE_SMTP_FROM} - PEERTUBE_SMTP_TLS: ${PEERTUBE_SMTP_TLS} - PEERTUBE_ADMIN_EMAIL: ${PEERTUBE_ADMIN_EMAIL} - # /!\ Prefer to use the PeerTube admin interface to set the following configurations /!\ - # PEERTUBE_SIGNUP_ENABLED: ${PEERTUBE_SIGNUP_ENABLED} - # PEERTUBE_TRANSCODING_ENABLED: ${PEERTUBE_TRANSCODING_ENABLED} + # dockerfile: ./support/docker/production/Dockerfile.buster + image: chocobozzz/peertube:production-buster + env_file: + - .env # Traefik labels are suggested as an example for people using Traefik, # remove them if you are using another reverse proxy. labels: @@ -54,14 +45,13 @@ services: depends_on: - postgres - redis + - postfix restart: "always" postgres: image: postgres:10-alpine - environment: - POSTGRES_USER: ${DB_USERNAME} - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_DB: peertube + env_file: + - .env volumes: - ./docker-volume/db:/var/lib/postgresql/data restart: "always" @@ -75,3 +65,20 @@ services: restart: "always" labels: traefik.enable: "false" + + postfix: + image: mwader/postfix-relay + env_file: + - .env + volumes: + - ./docker-volume/opendkim/keys:/etc/opendkim/keys + labels: + traefik.enable: "false" + restart: "always" + +networks: + default: + ipam: + driver: default + config: + - subnet: 172.18.0.0/16