|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- services:
-
- # You can comment this webserver section if you want to use another webserver/proxy or test PeerTube in local
- webserver:
- 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
- env_file:
- - .env
- 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
- - certbot-www:/var/www/certbot
- - ./docker-volume/certbot/conf:/etc/letsencrypt
- depends_on:
- - peertube
- restart: "always"
-
- # You can comment this certbot section if you want to use another webserver/proxy or test PeerTube in local
- 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:
- # build:
- # context: .
- # dockerfile: ./support/docker/production/Dockerfile.bookworm
- image: chocobozzz/peertube:production-bookworm
- # 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
-
- 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:
- # Remove the following line if you want to use another webserver/proxy or test PeerTube in local
- - assets:/app/client/dist
- - ./docker-volume/data:/data
- - ./docker-volume/config:/config
- depends_on:
- - postgres
- - redis
- - postfix
- restart: "always"
-
- postgres:
- image: postgres:13-alpine
- env_file:
- - .env
- volumes:
- - ./docker-volume/db:/var/lib/postgresql/data
- restart: "always"
-
- redis:
- image: redis:6-alpine
- volumes:
- - ./docker-volume/redis:/data
- restart: "always"
-
- postfix:
- image: mwader/postfix-relay
- env_file:
- - .env
- volumes:
- - ./docker-volume/opendkim/keys:/etc/opendkim/keys
- restart: "always"
-
- networks:
- default:
- ipam:
- driver: default
- config:
- - subnet: 172.18.0.0/16
-
- volumes:
- assets:
- certbot-www:
|