Adiciona autenticação opcional, VNC integrado, GPU por stream, proxy HLS e melhorias de segurança
---
- Adicionado sistema de autenticação opcional via AUTH_USER/AUTH_PASS: middleware Next.js, página de login, cookie rolling de
30 dias, timingSafeEqual para comparação segura de credenciais;
- Adicionado proxy HLS em /api/hls/[...path] que roteia para localhost:8888 internamente; player e player-static atualizados
para usar a rota proxy;
- Adicionada página /vnc/[id] integrada na UI (iframe + botão Back com auto-hide), substituindo abertura em nova aba;
- Adicionado campo gpu: boolean por stream; controlado via {{GPU_FLAGS}} no template do Chromium e no reprovision.mjs;
- Ajustado delay da primeira thumbnail para stream.delay + 60 para garantir conclusão do autologin antes da captura;
- Atualizado docker-compose.yml: porta 6080 vinculada a localhost, portas 1935 e 8888 comentadas por padrão;
- Traduzidos todos os comentários de código do português para o inglês;
- Adicionado crédito riguetto.dev no header com underline no hover;
- README e CLAUDE.md atualizados com arquitetura, portas e features corretas;
---
This commit is contained in:
@@ -1,18 +1,20 @@
|
||||
services:
|
||||
decap-stream:
|
||||
image: git.kralot.cloud/kralot/decap-stream:latest
|
||||
image: ghcr.io/riguettodev/decap-stream:latest
|
||||
container_name: decap-stream
|
||||
restart: unless-stopped
|
||||
shm_size: "2gb"
|
||||
shm_size: "1gb"
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
environment:
|
||||
TZ: America/Sao_Paulo
|
||||
# AUTH_USER: admin # Se definido (junto com AUTH_PASS), habilita login
|
||||
# AUTH_PASS: secure_password
|
||||
ports:
|
||||
- "3000:3000" # Web UI
|
||||
- "1935:1935" # RTMP (MediaMTX)
|
||||
- "8888:8888" # HLS (MediaMTX)
|
||||
- "6080:6080" # VNC (noVNC)
|
||||
- "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
|
||||
# - logs:/app/data/logs # Optional
|
||||
|
||||
Reference in New Issue
Block a user