4918fa091e
---
- Implementada função buildEncoderFlags() em supervisor.ts e reprovision.mjs que gera o bloco de flags do ffmpeg conforme a env var FFMPEG_HWACCEL (nvenc, vaapi, qsv ou vazio para libx264);
- Template stream.template.conf refatorado para usar {{ENCODER_FLAGS}} no lugar do bloco x264 fixo;
- NVENC configurado com perfil high, mapeamento de presets x264→p1-p7 e tune zerolatency→ll;
- docker-compose.yml atualizado com seções comentadas para gpus, devices, FFMPEG_HWACCEL e instrução de volume WSL2 para libnvidia-encode;
- Dockerfile adiciona mesa-va-drivers e intel-media-va-driver para suporte a VAAPI e remove declaração VOLUME redundante;
- fetchAllStatuses() corrigido: supervisorctl status || true evita exceção com exit code 3 quando há processos parados;
- reprovision.mjs atualizado para incluir AUTO_RELOAD e AUTO_RELOAD_INTERVAL no contexto de renderização do template;
---
29 lines
1.4 KiB
YAML
29 lines
1.4 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
|
|
# FFMPEG_HWACCEL: nvenc # GPU encoding: nvenc (NVIDIA), vaapi (Intel/AMD), qsv (Intel QSV) / Requires: nvenc → gpus: all | vaapi/qsv → devices: /dev/dri
|
|
# LD_LIBRARY_PATH: /usr/lib/wsl/lib # WSL2 + nvenc only: injects NVENC libs not auto-mounted by Docker
|
|
# AUTH_USER: admin # Se definido (junto com AUTH_PASS), habilita login
|
|
# AUTH_PASS: secure_password
|
|
ports:
|
|
- "3000:3000" # Web UI — main entry point
|
|
- "127.0.0.1:6080:6080" # VNC — localhost only; remote access via tunnel/VPN
|
|
# - "1935:1935" # RTMP — internal only; 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, thumbs
|
|
# - /usr/lib/wsl/lib:/usr/lib/wsl/lib:ro # WSL2 + nvenc: exposes libnvidia-encode.so.1
|
|
# - logs:/app/data/logs # Optional
|
|
|
|
volumes:
|
|
streams: |