8bcc269594
--- - Adicionado endpoint GET /api/config que expõe as env vars de defaults para o frontend; - Adicionadas env vars DEFAULT_PURE_MODE, DEFAULT_OPEN_NEW_TAB, DEFAULT_RELOAD_CLIENT e DEFAULT_RELOAD_CLIENT_TIME ao docker-compose.yml e README.md; - Na primeira sessão sem global-prefs em localStorage, a UI busca os defaults do servidor via /api/config; - Adicionado fallback de HLS nativo para iOS Safari em todos os players HTML (Hls.isSupported() → v.src + v.play()); - Substituído AbortSignal.timeout() por AbortController + setTimeout para compatibilidade com iOS ≤ 15; - Corrigido stall detection falso-positivo: verificação só dispara após currentTime > 0 (vídeo realmente iniciado); - Adicionado height: 100dvh nos players para corrigir clipping do iOS causado pelo 100vh incluir a chrome bar do browser; - Adicionado atributo muted no <video> do player /static/[id] para permitir autoplay mobile; - Adicionado listener de touchstart nos botões flutuantes de Back e Mute para exibição em touch; - Botão Back do player React ampliado no mobile (px-5 py-3 text-[1.1rem]) para paridade visual com o player HTML; - Comentários do docker-compose.yml traduzidos para inglês e reorganizados inline; ---
34 lines
1.6 KiB
YAML
34 lines
1.6 KiB
YAML
services:
|
|
decap-stream:
|
|
image: ghcr.io/riguettodev/decap-stream:latest
|
|
container_name: decap-stream
|
|
restart: unless-stopped
|
|
shm_size: "1gb"
|
|
security_opt:
|
|
- seccomp:unconfined
|
|
# gpus: all # Uncomment for NVIDIA (nvenc) — requires nvidia-container-toolkit on host
|
|
# devices:
|
|
# - /dev/dri:/dev/dri # Uncomment for Intel/AMD (vaapi or qsv)
|
|
environment:
|
|
TZ: America/Sao_Paulo
|
|
# AUTH_USER: admin # If set (with AUTH_PASS), enables login
|
|
# AUTH_PASS: secure_password
|
|
DEFAULT_PURE_MODE: false # Pure mode: raw .m3u8 / minimal player (no UI chrome)
|
|
DEFAULT_OPEN_NEW_TAB: false # Open player buttons in a new tab
|
|
DEFAULT_RELOAD_CLIENT: false # Auto-reload the client player page
|
|
DEFAULT_RELOAD_CLIENT_TIME: 2 # Client auto-reload interval in minutes
|
|
# FFMPEG_HWACCEL: nvenc # GPU encoding: nvenc (NVIDIA), vaapi / qsv (Intel/AMD)
|
|
# LD_LIBRARY_PATH: /usr/lib/wsl/lib # WSL2 + nvenc only
|
|
ports:
|
|
- "3000:3000" # Web UI — main entry point
|
|
- "127.0.0.1:6080:6080" # noVNC — localhost only; expose via tunnel/VPN for remote access
|
|
# - "1935:1935" # RTMP — expose only for external ingest (e.g. OBS)
|
|
# - "8888:8888" # HLS — internal only; proxied through Next.js at /api/hls/
|
|
volumes:
|
|
- streams:/app/data/streams # Persistent: streams.json, chrome profiles, thumbnails
|
|
# - ./logs:/app/data/logs # Optional: mount for external log access
|
|
# - /usr/lib/wsl/lib:/usr/lib/wsl/lib:ro # WSL2 + nvenc: exposes libnvidia-encode.so.1
|
|
|
|
volumes:
|
|
streams:
|