peertube.social/templates/docker-compose.yml

62 lines
1.3 KiB
YAML

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