PeerTube/support/docker/production/docker-compose.yml

102 lines
2.8 KiB
YAML
Raw Normal View History

version: "3.3"
services:
2022-08-11 10:43:31 +02:00
# You can comment this webserver section if you want to use another webserver/proxy or test PeerTube in local
webserver:
2020-12-30 16:53:11 +01:00
image: chocobozzz/peertube-webserver:latest
# If you don't want to use the official image and build one from sources:
# build:
# context: .
# dockerfile: Dockerfile.nginx
2018-08-14 10:13:17 +02:00
env_file:
- .env
2020-12-30 16:53:11 +01:00
ports:
- "80:80"
- "443:443"
volumes:
- type: bind
# Switch sources if you downloaded the whole repository
#source: ../../nginx/peertube
source: ./docker-volume/nginx/peertube
target: /etc/nginx/conf.d/peertube.template
- assets:/var/www/peertube/peertube-latest/client/dist:ro
- ./docker-volume/data:/var/www/peertube/storage
2020-12-30 16:53:11 +01:00
- certbot-www:/var/www/certbot
- ./docker-volume/certbot/conf:/etc/letsencrypt
depends_on:
- peertube
restart: "always"
2022-08-11 10:43:31 +02:00
# You can comment this certbot section if you want to use another webserver/proxy or test PeerTube in local
2020-12-30 16:53:11 +01:00
certbot:
container_name: certbot
image: certbot/certbot
volumes:
- ./docker-volume/certbot/conf:/etc/letsencrypt
- certbot-www:/var/www/certbot
restart: unless-stopped
entrypoint: /bin/sh -c "trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; sleep 12h & wait $${!}; done;"
depends_on:
- webserver
peertube:
# If you don't want to use the official image and build one from sources:
2020-12-30 16:53:11 +01:00
# build:
# context: .
2021-11-16 17:03:44 +01:00
# dockerfile: ./support/docker/production/Dockerfile.bullseye
image: chocobozzz/peertube:production-bullseye
# 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
env_file:
- .env
2021-01-07 11:18:47 +01:00
ports:
2022-08-11 10:43:31 +02:00
- "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:
- assets:/app/client/dist
2018-05-07 18:39:42 +02:00
- ./docker-volume/data:/data
- ./docker-volume/config:/config
depends_on:
- postgres
- redis
- postfix
restart: "always"
postgres:
image: postgres:13-alpine
env_file:
- .env
volumes:
2018-05-07 18:39:42 +02:00
- ./docker-volume/db:/var/lib/postgresql/data
restart: "always"
redis:
image: redis:6-alpine
volumes:
2018-05-07 18:39:42 +02:00
- ./docker-volume/redis:/data
restart: "always"
postfix:
image: mwader/postfix-relay
env_file:
- .env
2020-03-10 15:14:19 +01:00
volumes:
- ./docker-volume/opendkim/keys:/etc/opendkim/keys
restart: "always"
networks:
default:
ipam:
driver: default
config:
2020-06-22 13:06:54 +02:00
- subnet: 172.18.0.0/16
volumes:
assets:
2020-12-30 16:53:11 +01:00
certbot-www: