45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
version: "3.9"
|
||
|
||
services:
|
||
mediamtx:
|
||
image: bluenviron/mediamtx:1.9.2
|
||
container_name: mediamtx
|
||
restart: unless-stopped
|
||
ports:
|
||
- "1935:1935" # RTMP ingest
|
||
- "8888:8888" # HLS/HTTP (optional extern, Dashboard proxyt ohnehin)
|
||
volumes:
|
||
- ./mediamtx.yml:/mediamtx.yml:ro
|
||
command: ["/mediamtx", "/mediamtx.yml"]
|
||
|
||
dashboard:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
container_name: go-stream-dashboard
|
||
restart: unless-stopped
|
||
environment:
|
||
# Dashboard
|
||
- LISTEN=:8080
|
||
- BASIC_AUTH_USER=${BASIC_AUTH_USER:-}
|
||
- BASIC_AUTH_PASS=${BASIC_AUTH_PASS:-}
|
||
- STREAMS=${STREAMS:-}
|
||
# MediaMTX Endpunkte (im Compose‑Netzwerk erreichbar)
|
||
- MTX_API=http://mediamtx:9997
|
||
- MTX_HLS=http://mediamtx:8888
|
||
- MTX_API_USER=${MTX_API_USER:-admin}
|
||
- MTX_API_PASS=${MTX_API_PASS:-starkes-passwort}
|
||
ports:
|
||
- "8080:8080"
|
||
depends_on:
|
||
- mediamtx
|
||
healthcheck:
|
||
test: ["CMD", "/app/dashboard", "-healthcheck"] # optionaler Schalter, siehe unten
|
||
interval: 15s
|
||
timeout: 3s
|
||
retries: 5
|
||
security_opt:
|
||
- no-new-privileges:true
|
||
read_only: true
|
||
tmpfs:
|
||
- /tmp |