mirror of
https://github.com/SrIzan10/hctv.git
synced 2026-06-06 00:56:56 +00:00
69 lines
2.9 KiB
YAML
69 lines
2.9 KiB
YAML
services:
|
|
traefik:
|
|
image: traefik:latest
|
|
command:
|
|
- --providers.docker=true
|
|
- --providers.docker.exposedbydefault=false
|
|
- --entrypoints.web.address=:80
|
|
- --entrypoints.websecure.address=:443
|
|
- --entrypoints.srt.address=:8890/udp
|
|
- --entrypoints.webrtc-ice.address=:8189/udp
|
|
- --certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}
|
|
- --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
|
|
- --certificatesresolvers.letsencrypt.acme.dnschallenge=true
|
|
- --certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare
|
|
- --certificatesresolvers.letsencrypt.acme.dnschallenge.resolvers=1.1.1.1:53,1.0.0.1:53
|
|
environment:
|
|
CF_DNS_API_TOKEN: ${CF_DNS_API_TOKEN}
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
- 8890:8890/udp
|
|
- 8189:8189/udp
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- letsencrypt:/letsencrypt
|
|
restart: unless-stopped
|
|
|
|
mediamtx:
|
|
image: srizan10/hclive-mediamtx
|
|
volumes:
|
|
- ./mediamtx.yml:/mediamtx.yml:ro
|
|
environment:
|
|
SSL_CERT_FILE: /etc/ssl/certs/ca-certificates.crt
|
|
MTX_WEBRTCADDITIONALHOSTS: ${MEDIAMTX_WEBRTC_ADDITIONAL_HOSTS}
|
|
MTX_AUTHHTTPADDRESS: ${MEDIAMTX_AUTH_HTTP_ADDRESS}
|
|
MTX_AUTHHTTPFINGERPRINT: ${MEDIAMTX_AUTH_HTTP_FINGERPRINT:-}
|
|
labels:
|
|
- traefik.enable=true
|
|
|
|
- traefik.http.routers.mediamtx-hls.rule=Host(`${MEDIAMTX_HLS_HOST}`)
|
|
- traefik.http.routers.mediamtx-hls.entrypoints=websecure
|
|
- traefik.http.routers.mediamtx-hls.tls.certresolver=letsencrypt
|
|
- traefik.http.routers.mediamtx-hls.service=mediamtx-hls
|
|
- traefik.http.services.mediamtx-hls.loadbalancer.server.port=8888
|
|
|
|
- traefik.http.routers.mediamtx-webrtc.rule=Host(`${MEDIAMTX_WEBRTC_HOST}`)
|
|
- traefik.http.routers.mediamtx-webrtc.entrypoints=websecure
|
|
- traefik.http.routers.mediamtx-webrtc.tls.certresolver=letsencrypt
|
|
- traefik.http.routers.mediamtx-webrtc.service=mediamtx-webrtc
|
|
- traefik.http.services.mediamtx-webrtc.loadbalancer.server.port=8889
|
|
|
|
- traefik.http.routers.mediamtx-api.rule=Host(`${MEDIAMTX_API_HOST}`)
|
|
- traefik.http.routers.mediamtx-api.entrypoints=websecure
|
|
- traefik.http.routers.mediamtx-api.tls.certresolver=letsencrypt
|
|
- traefik.http.routers.mediamtx-api.service=mediamtx-api
|
|
- traefik.http.services.mediamtx-api.loadbalancer.server.port=9997
|
|
|
|
- traefik.udp.routers.mediamtx-srt.entrypoints=srt
|
|
- traefik.udp.routers.mediamtx-srt.service=mediamtx-srt
|
|
- traefik.udp.services.mediamtx-srt.loadbalancer.server.port=8890
|
|
|
|
- traefik.udp.routers.mediamtx-webrtc-ice.entrypoints=webrtc-ice
|
|
- traefik.udp.routers.mediamtx-webrtc-ice.service=mediamtx-webrtc-ice
|
|
- traefik.udp.services.mediamtx-webrtc-ice.loadbalancer.server.port=8189
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
letsencrypt:
|