services: peertube: # If you don't want to use the official image and build one from sources: # build: # context: . # dockerfile: ./support/docker/production/Dockerfile image: docker.io/chocobozzz/peertube:production # Use a static IP for this container because nginx does not handle proxy host change without reload # This container could be restarted on crash or until the postgresql database is ready for connection networks: default: ipv4_address: 172.18.0.42 ipv6_address: fdab:e4b3:21a2:ef1b::42 env_file: - .env ports: #- "1935:1935" # Comment if you don't want to use the live feature - "9000:9000" # Uncomment if you use another webserver/proxy or test PeerTube in local, otherwise not suitable for production volumes: - ./docker-volume/data:/data depends_on: - postgres - redis - postfix restart: "always" postgres: image: docker.io/postgres:17-alpine env_file: - .env volumes: - ./docker-volume/db:/var/lib/postgresql/data restart: "always" redis: image: docker.io/redis:8-alpine volumes: - ./docker-volume/redis:/data restart: "always" postfix: image: docker.io/mwader/postfix-relay env_file: - .env volumes: - ./docker-volume/opendkim/keys:/etc/opendkim/keys restart: "always" networks: default: enable_ipv6: true ipam: driver: default config: - subnet: 172.18.0.0/16 - subnet: fdab:e4b3:21a2:ef1b::/64 volumes: assets: certbot-www: