television/docker-compose.yml
2024-01-19 05:38:19 +02:00

85 lines
1.8 KiB
YAML

version: '3'
networks:
net:
external: false
services:
haproxy:
image: haproxy:lts
env_file:
- "variables.env"
ports:
- "80:80"
- "443:443"
volumes:
- "./data/certificates:/certificates"
- "./config/haproxy:/usr/local/etc/haproxy"
depends_on:
- "certbot"
- "restreamer"
- "scheduler"
restart: unless-stopped
networks:
- net
labels:
- meta.role=haproxy
certbot:
image: "certbot/certbot"
hostname: certbot
volumes:
- "./data/certificates:/certificates"
- "./data/certbot/etc:/etc/letsencrypt"
- "./data/certbot/var:/var/lib/letsencrypt"
- "./logs/certbot:/var/log/letsencrypt"
restart: unless-stopped
networks:
- net
labels:
- meta.role=certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 15d & wait $${!}; done;'"
restreamer:
image: datarhei/restreamer:2.7.0
env_file:
- "variables.env"
ports:
- "6000:6000/udp"
volumes:
- "./data/restreamer/config:/core/config"
- "./data/restreamer/data:/core/data"
restart: unless-stopped
networks:
- net
labels:
- meta.role=restreamer
scheduler:
depends_on:
- "restreamer"
build: ./src/scheduler
image: tv-scheduler:latest
env_file:
- "variables.env"
volumes:
- "./config/scheduler:/config"
- "./data/recorder:/recordings"
restart: unless-stopped
networks:
- net
labels:
- meta.role=scheduler
discordbot:
depends_on:
- "scheduler"
build: ./src/discordbot
image: tv-discordbot:latest
env_file:
- "variables.env"
restart: unless-stopped
networks:
- net
labels:
- meta.role=discordbot