streaming-docker/docker-compose.yml

93 lines
1.8 KiB
YAML

version: "3.5"
x-defaults: &defaults
build: .
restart: unless-stopped
working_dir: /tools
volumes:
- sockets:/run/snowmix
network_mode: host
ipc: host
services:
snowmix:
build: .
restart: unless-stopped
volumes:
- sockets:/run/snowmix
- ./config:/config:ro
- ./assets:/assets:ro
ports:
- 9999:9999
ipc: host
janus:
image: mcroth/docker-janus
restart: unless-stopped
volumes:
- ./config/janus/:/opt/janus/etc/janus/
ports:
- 8088:8088
- 8188:8188
- 8004:8004
- 8004:8004/udp
- 8005:8005/udp
network_mode: host
janus-feed:
build: .
restart: unless-stopped
volumes:
- sockets:/run/snowmix
- ./tools:/tools:ro
- /storage:/storage
environment:
- SNOWMIX_YOUTUBE_SECRET
ports:
- 20000-20010:20000-20010
command: /tools/output2cdn-base
ipc: host
# FIXME workaround for janus staying in host network ;_;
extra_hosts:
- "janus:172.17.0.1"
frontend:
build: frontend
restart: unless-stopped
ports:
- 80:80
extra_hosts:
- "janus:172.17.0.1"
api:
build: api
restart: unless-stopped
ports:
- 5000:5000
volumes:
- ./api:/app
# FIXME this should be done in de-ip-hdmi...
multicast:
<<: *defaults
command: /tools/multicastjoin
lenkeng1:
<<: *defaults
command: /tools/lenkeng2feed 1:10.8.1.34 -interface ${SNOWMIX_INTERFACE:-enp0s31f6}
lenkeng1-audio:
<<: *defaults
command: /tools/lenkengaudio2feed 1:10.8.1.34 -interface ${SNOWMIX_INTERFACE:-enp0s31f6}
lenkeng2:
<<: *defaults
command: /tools/lenkeng2feed 2:10.8.1.35 -interface ${SNOWMIX_INTERFACE:-enp0s31f6}
lenkeng2-audio:
<<: *defaults
command: /tools/lenkengaudio2feed 2:10.8.1.35 -interface ${SNOWMIX_INTERFACE:-enp0s31f6}
volumes:
sockets: