version: "3.3" services: nginx: image: nginx:1.17-alpine ports: - "80:80" # The HTTP port - "443:443" # The HTTPS port volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./volumes/certbot/:/var/www/certbot/ - /etc/letsencrypt/:/etc/letsencrypt/:ro - ./volumes-large:/data-external:ro depends_on: - peertube restart: "always" peertube: image: chocobozzz/peertube:v2.1.1-buster env_file: - .env volumes: - ./volumes/data:/data - ./volumes/config:/config - ./volumes-large:/data-external environment: - PEERTUBE_DB_USERNAME=${POSTGRES_USER} - PEERTUBE_DB_PASSWORD=${POSTGRES_PASSWORD} depends_on: - postgres - redis - postfix restart: "always" postgres: image: postgres:10-alpine volumes: - ./volumes/db:/var/lib/postgresql/data environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} restart: "always" redis: image: redis:5-alpine volumes: - ./volumes/redis:/data restart: "always" postfix: image: mwader/postfix-relay environment: - POSTFIX_myhostname=${PEERTUBE_WEBSERVER_HOSTNAME} restart: "always" networks: default: ipam: driver: default config: - subnet: 172.18.0.0/16