version: "3" services: peertube: image: ${PEERTUBE_DOCKER_IMAGE} container_name: peertube networks: - default - web env_file: - .env environment: - PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.69.0.0/16", "10.0.0.0/16", "173.245.48.0/20", "103.21.244.0/22","103.22.200.0/22","103.31.4.0/22","141.101.64.0/18","108.162.192.0/18","190.93.240.0/20","188.114.96.0/20","197.234.240.0/22","198.41.128.0/17","162.158.0.0/15","104.16.0.0/12","172.64.0.0/13","131.0.72.0/22"] - LANG=en_US.UTF-8 - LANGUAGE=en_us:en - LC_ALL=en_US.UTF-8 labels: - traefik.http.routers.peertube.rule=Host(`peertube.jafner.net`) - traefik.http.routers.peertube.tls=true - traefik.http.routers.peertube.tls.certresolver=lets-encrypt - traefik.http.services.peertube.loadbalancer.server.port=9000 volumes: - ./docker-volume/data:/data - ./config:/config depends_on: - postgres - redis - postfix restart: "always" postgres: image: postgres:10-alpine container_name: peertube_postgres environment: POSTGRES_USER: ${PEERTUBE_DB_USERNAME} POSTGRES_PASSWORD: ${PEERTUBE_DB_PASSWORD} POSTGRES_DB: peertube volumes: - ./docker-volume/db:/var/lib/postgresql/data restart: "always" redis: image: redis:4-alpine container_name: peertube_redis volumes: - ./docker-volume/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.69.0.0/16 web: external: true