2020-09-15 07:26:44 +00:00
|
|
|
# Example of Docker Compose setup using Traefik reverse proxy
|
|
|
|
|
2020-09-14 15:10:14 +00:00
|
|
|
version: '3'
|
|
|
|
|
|
|
|
services:
|
2020-09-15 07:26:44 +00:00
|
|
|
# RTMP to WebRTC server
|
2020-09-14 15:10:14 +00:00
|
|
|
ovenmediaengine:
|
|
|
|
image: airensoft/ovenmediaengine:0.10.7
|
|
|
|
ports:
|
2020-09-15 07:26:44 +00:00
|
|
|
# WebRTC ICE
|
2020-09-14 15:10:14 +00:00
|
|
|
- 10000-10005:10000-10005/udp
|
|
|
|
volumes:
|
2020-09-15 07:26:44 +00:00
|
|
|
- ./ovenmediaengine/conf/Server-docker.xml:/opt/ovenmediaengine/bin/origin_conf/Server.xml:ro
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.ovenmediaengine.rule=Host(`stream.example.com`) && PathPrefix(`/app/`)"
|
|
|
|
- "traefik.http.routers.ovenmediaengine.priority=101"
|
|
|
|
- "traefik.http.services.ovenmediaenfine.loadbalancer.server.port=3333"
|
2020-09-14 15:10:14 +00:00
|
|
|
|
2020-09-15 07:26:44 +00:00
|
|
|
# RTMP server that authenticate stream against ghostream
|
2020-09-14 15:10:14 +00:00
|
|
|
rtmp_server:
|
|
|
|
image: nginx:1.19.2
|
2020-09-15 07:26:44 +00:00
|
|
|
volumes:
|
|
|
|
- ./nginx/nginx-docker.conf:/etc/nginx/nginx.conf:ro
|
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.tcp.routers.rtmp.rule=Host(`stream.example.com`)"
|
|
|
|
- "traefik.tcp.services.rtmp.loadbalancer.server.port=1925"
|
2020-09-14 15:10:14 +00:00
|
|
|
|
2020-09-15 07:26:44 +00:00
|
|
|
# Ghostream is the web frontend to OvenMediaEngine
|
2020-09-14 15:10:14 +00:00
|
|
|
ghostream:
|
|
|
|
build: ../
|
|
|
|
environment:
|
2020-09-15 07:34:03 +00:00
|
|
|
- FLASK_CONFIG=production
|
|
|
|
- LDAP_URI=ldap://127.0.0.1:389
|
|
|
|
- LDAP_USER_DN=cn=Users,dc=example,dc=com
|
|
|
|
- SITE_NAME=Ghostream
|
|
|
|
- SITE_HOSTNAME=localhost
|
|
|
|
- FAVICON=/favicon.ico
|
2020-09-15 07:26:44 +00:00
|
|
|
labels:
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.http.routers.ghostream.rule=Host(`stream.example.com`)"
|
|
|
|
- "traefik.http.routers.ghostream.priority=100"
|
|
|
|
- "traefik.http.services.ghostream.loadbalancer.server.port=8080"
|