mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			102 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
| version: "3.3"
 | |
| 
 | |
| services:
 | |
| 
 | |
|   # You can comment this webserver section if you want to use another webserver/proxy
 | |
|   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
 | |
|   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.buster
 | |
|     image: chocobozzz/peertube:production-buster
 | |
|     # 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" # If you don't want to use the live feature, you can comment this line
 | |
|     #  - "9000:9000" # If you provide your own webserver and reverse-proxy, otherwise not suitable for production
 | |
|     volumes:
 | |
|       - 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:
 |