2021-10-10 09:39:39 -04:00
|
|
|
version: "3.3"
|
|
|
|
services:
|
2021-10-10 09:48:24 -04:00
|
|
|
lb:
|
|
|
|
image: haproxy:latest
|
|
|
|
ports:
|
|
|
|
- "80:80"
|
|
|
|
- "443:443"
|
2021-10-10 10:05:08 -04:00
|
|
|
- "1935:1935"
|
2021-10-10 09:48:24 -04:00
|
|
|
volumes:
|
|
|
|
- "./data/certificates:/certificates"
|
|
|
|
- "./config/lb:/usr/local/etc/haproxy"
|
|
|
|
depends_on:
|
|
|
|
- "certbot"
|
2021-10-10 12:01:43 -04:00
|
|
|
- "rtmp"
|
2021-10-10 09:48:24 -04:00
|
|
|
restart: always
|
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
labels:
|
|
|
|
- meta.role=lb
|
|
|
|
|
|
|
|
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: on-failure
|
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
labels:
|
|
|
|
- meta.role=certbot
|
|
|
|
#entrypoint: sh -c 'while true; do sleep 1; done'
|
|
|
|
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 15d & wait $${!}; done;'"
|
|
|
|
|
2021-10-10 18:12:06 -04:00
|
|
|
auth: # PSK Authentication Service
|
2021-10-10 18:44:31 -04:00
|
|
|
build: ./auth
|
|
|
|
hostname: auth
|
2021-10-10 18:12:06 -04:00
|
|
|
user: nobody
|
|
|
|
command: python /code/auth.py
|
|
|
|
volumes:
|
|
|
|
- "./auth:/code"
|
|
|
|
# set the PSK Password for the Auth Daemon here
|
|
|
|
environment:
|
|
|
|
- password=ex4mple_p4ss
|
2021-10-10 18:45:09 -04:00
|
|
|
restart: always
|
2021-10-10 12:01:43 -04:00
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
labels:
|
|
|
|
- meta.role=auth
|
|
|
|
|
2021-10-10 09:39:39 -04:00
|
|
|
rtmp:
|
|
|
|
build: ./rtmp
|
2021-10-10 10:05:08 -04:00
|
|
|
hostname: rtmp
|
2021-10-10 09:39:39 -04:00
|
|
|
volumes:
|
2021-10-10 09:52:00 -04:00
|
|
|
- "./data/rtmp/hls:/tmp/hls"
|
2021-10-10 10:05:08 -04:00
|
|
|
depends_on:
|
2021-10-10 12:01:43 -04:00
|
|
|
- "auth"
|
2021-10-10 19:01:27 -04:00
|
|
|
- "frontend"
|
2021-10-10 10:05:08 -04:00
|
|
|
restart: always
|
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
labels:
|
|
|
|
- meta.role=rtmp
|
2021-10-10 09:39:39 -04:00
|
|
|
|
2021-10-10 19:01:27 -04:00
|
|
|
frontend: # container for python frontend
|
|
|
|
build: frontend/.
|
|
|
|
command: uwsgi uwsgi.ini
|
|
|
|
volumes:
|
|
|
|
- "./config/frontend/config.yml:/code/config.yml:ro"
|
|
|
|
- "./config/frontend/uwsgi.ini:/code/uwsgi.ini:ro"
|
|
|
|
restart: always
|
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
labels:
|
|
|
|
- meta.role=frontend
|
|
|
|
|
2021-10-10 09:48:24 -04:00
|
|
|
networks:
|
|
|
|
internal: {}
|
|
|
|
|