5 # You can comment this webserver section if you want to use another webserver/proxy
7 image: chocobozzz/peertube-webserver:latest
8 # If you don't want to use the official image and build one from sources:
11 # dockerfile: Dockerfile.nginx
19 # Switch sources if you downloaded the whole repository
20 #source: ../../nginx/peertube
21 source: ./docker-volume/nginx/peertube
22 target: /etc/nginx/conf.d/peertube.template
23 - assets:/var/www/peertube/peertube-latest/client/dist:ro
24 - ./docker-volume/data:/var/www/peertube/storage
25 - certbot-www:/var/www/certbot
26 - ./docker-volume/certbot/conf:/etc/letsencrypt
31 # You can comment this certbot section if you want to use another webserver/proxy
33 container_name: certbot
34 image: certbot/certbot
36 - ./docker-volume/certbot/conf:/etc/letsencrypt
37 - certbot-www:/var/www/certbot
38 restart: unless-stopped
39 entrypoint: /bin/sh -c "trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; sleep 12h & wait $${!}; done;"
44 # If you don't want to use the official image and build one from sources:
47 # dockerfile: ./support/docker/production/Dockerfile.bullseye
48 image: chocobozzz/peertube:production-bullseye
49 # Use a static IP for this container because nginx does not handle proxy host change without reload
50 # This container could be restarted on crash or until the postgresql database is ready for connection
53 ipv4_address: 172.18.0.42
58 - "1935:1935" # If you don't want to use the live feature, you can comment this line
59 # - "9000:9000" # If you provide your own webserver and reverse-proxy, otherwise not suitable for production
61 - assets:/app/client/dist
62 - ./docker-volume/data:/data
63 - ./docker-volume/config:/config
71 image: postgres:13-alpine
75 - ./docker-volume/db:/var/lib/postgresql/data
81 - ./docker-volume/redis:/data
85 image: mwader/postfix-relay
89 - ./docker-volume/opendkim/keys:/etc/opendkim/keys
97 - subnet: 172.18.0.0/16