1f8385e450
--- - Migrado base Docker de ubuntu:22.04 + Google Chrome para debian:bookworm-slim + Chromium - Dockerfile refatorado com multi-stage build (node:22-alpine builder + debian runtime) e single RUN layer para imagem menor - VNC unificado: removido novnc por stream, substituído por websockify global na porta 6080 com token-based routing - Implementado sistema de thumbnails por stream via ffmpeg (captura do HLS) com endpoint GET/POST e atualização no card - Autologin reescrito com detecção via Chrome DevTools Protocol: pula credenciais se já autenticado - Adicionado padrão desiredState (running/stopped) persistido no JSON, restaurado via restore-streams.sh ao reiniciar container - UI traduzida para inglês, formulário reorganizado com tooltips, seção avançada colapsável e GOP automático - Player simplificado: modos HLS e HTML unificados, removido modo m3u8 separado - Adicionado campo threads no ffmpeg; suporte a seccomp:unconfined no docker-compose ---
54 lines
1.7 KiB
Plaintext
54 lines
1.7 KiB
Plaintext
[supervisord]
|
|
nodaemon=true
|
|
logfile=/app/data/logs/supervisord.log
|
|
logfile_maxbytes=10MB
|
|
logfile_backups=3
|
|
pidfile=/tmp/supervisord.pid
|
|
|
|
[unix_http_server]
|
|
file=/tmp/supervisor.sock
|
|
|
|
[supervisorctl]
|
|
serverurl=unix:///tmp/supervisor.sock
|
|
|
|
[rpcinterface:supervisor]
|
|
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
|
|
|
|
# ── Serviços base ────────────────────────────────────────────────────────────
|
|
|
|
[program:mediamtx]
|
|
command=/usr/local/bin/mediamtx /etc/mediamtx.yml
|
|
autorestart=true
|
|
priority=1
|
|
stdout_logfile=/app/data/logs/mediamtx.log
|
|
stderr_logfile=/app/data/logs/mediamtx.log
|
|
|
|
[program:nextjs]
|
|
directory=/app
|
|
command=node server.js
|
|
environment=PORT=3000,HOSTNAME=0.0.0.0,DATA_DIR=/app/data
|
|
autorestart=true
|
|
priority=2
|
|
stdout_logfile=/app/data/logs/nextjs.log
|
|
stderr_logfile=/app/data/logs/nextjs.log
|
|
|
|
# ── Streams dinâmicas ────────────────────────────────────────────────────────
|
|
# Cada stream gera /app/data/streams/{id}/stream.conf
|
|
# O supervisord inclui todos automaticamente
|
|
|
|
[program:novnc]
|
|
command=websockify --web /usr/share/novnc --target-config /app/data/vnc-tokens 6080
|
|
autorestart=true
|
|
priority=3
|
|
stdout_logfile=/app/data/logs/novnc.log
|
|
stderr_logfile=/app/data/logs/novnc.log
|
|
|
|
[program:restore-streams]
|
|
command=/opt/scripts/restore-streams.sh
|
|
autorestart=false
|
|
priority=4
|
|
stdout_logfile=/app/data/logs/restore.log
|
|
stderr_logfile=/app/data/logs/restore.log
|
|
|
|
[include]
|
|
files = /app/data/streams/*/stream.conf |