6d39c512d7
Build and Push Docker Image / build (push) Successful in 15s
- Add upstream Cookie support for HLS full-proxy mode (CloudFront signed cookies stored server-side as opaque tokens; never exposed in proxy URLs) - Add HTTP connection pool for HLS proxy upstream requests to avoid per-request TLS handshake overhead; introduce HLS_PROXY_TIMEOUT separate from probe timeout - Add per-link TG start notification with 30s merge window: each newly-live link fires independently, links that come online within the window are merged into one message with names joined by ' & ' - Fix TG reconnect grace period (TG_RECONNECT_GRACE_SECS=60): suppress both stop and start notifications for brief RTMP disconnects - Fix stream probe to check all links for TG-enabled streams; non-TG streams still stop at first valid link to avoid unnecessary probes - Filter high-frequency HTTP access log entries (HLS segments, heartbeat, etc.) - Add json-file logging driver config to docker-compose for reliable log access
61 lines
1.6 KiB
YAML
61 lines
1.6 KiB
YAML
services:
|
|
streamhall:
|
|
image: git.stdm.moe/stardream/streamhall:latest
|
|
# To build from source instead: comment out image above and uncomment below
|
|
# build: .
|
|
container_name: streamhall
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- postgres
|
|
ports:
|
|
- "8085:8080"
|
|
environment:
|
|
# Generate with: openssl rand -hex 32
|
|
SECRET_KEY: "REPLACE_ME"
|
|
DATABASE_URL: "postgresql://streamhall:REPLACE_DB_PASSWORD@postgres:5432/streamhall"
|
|
TZ: "UTC"
|
|
RTMP_HOST: "srs"
|
|
# Comma-separated list of video directories (optional label:path format)
|
|
# Example for multiple dirs: "movies:/app/media/movies,anime:/app/media/anime"
|
|
VIDEOS_DIRS: "/app/videos"
|
|
volumes:
|
|
- ./videos:/app/videos
|
|
# Mount additional directories as needed:
|
|
# - /local/path:/app/media/label
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: streamhall-postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: "streamhall"
|
|
POSTGRES_USER: "streamhall"
|
|
POSTGRES_PASSWORD: "REPLACE_DB_PASSWORD"
|
|
TZ: "UTC"
|
|
volumes:
|
|
- ./postgres-data:/var/lib/postgresql/data
|
|
|
|
srs:
|
|
image: ossrs/srs:6
|
|
container_name: streamhall-srs
|
|
restart: unless-stopped
|
|
ports:
|
|
- "1935:1935"
|
|
- "18088:8080"
|
|
|
|
nginx-hls:
|
|
image: nginx:alpine
|
|
container_name: streamhall-nginx-hls
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- streamhall
|
|
ports:
|
|
- "8889:80"
|
|
volumes:
|
|
- ./nginx-hls.conf:/etc/nginx/conf.d/default.conf:ro
|