Files
decap-stream/build.sh
T
Kralot ca7299c646 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;

---
2026-04-26 03:09:57 -03:00

60 lines
1.4 KiB
Bash

#!/bin/bash
set -e
DEFAULT_IMAGE="registry.kralot.cloud/kralot/decap-stream"
DEFAULT_VERSION="0.0.0"
DEFAULT_LATEST="latest"
echo "=== DecapStream Build ==="
echo
read -p "Image [${DEFAULT_IMAGE}]: " IMAGE
IMAGE=${IMAGE:-$DEFAULT_IMAGE}
read -p "Version/Tag [${DEFAULT_VERSION}]: " VERSION
VERSION=${VERSION:-$DEFAULT_VERSION}
read -p "Build tag 'latest' também? (y/n) [y]: " USE_LATEST
USE_LATEST=${USE_LATEST:-y}
LATEST_TAG=""
if [[ "$USE_LATEST" =~ ^[Yy]$ ]]; then
read -p "Nome da tag latest [${DEFAULT_LATEST}]: " LATEST_TAG
LATEST_TAG=${LATEST_TAG:-$DEFAULT_LATEST}
fi
read -p "Fazer push após o build? (y/n) [n]: " DO_PUSH
DO_PUSH=${DO_PUSH:-n}
echo
echo "=== CONFIRMAÇÃO ==="
echo "Image : $IMAGE"
echo "Version : $VERSION"
[[ "$USE_LATEST" =~ ^[Yy]$ ]] && echo "Latest : $LATEST_TAG" || echo "Latest : não"
echo "Push : $DO_PUSH"
echo
read -p "Confirmar build? (y/n): " CONFIRM
[[ "$CONFIRM" =~ ^[Yy]$ ]] || exit 1
echo
echo "=== BUILDING ==="
make -C docker build \
IMAGE="$IMAGE" \
TAG="$VERSION"
if [[ "$USE_LATEST" =~ ^[Yy]$ ]]; then
echo "🏷️ Taggeando como ${IMAGE}:${LATEST_TAG}..."
docker tag "${IMAGE}:${VERSION}" "${IMAGE}:${LATEST_TAG}"
fi
if [[ "$DO_PUSH" =~ ^[Yy]$ ]]; then
echo
echo "=== PUSH ==="
make -C docker push IMAGE="$IMAGE" TAG="$VERSION"
[[ "$USE_LATEST" =~ ^[Yy]$ ]] && make -C docker push IMAGE="$IMAGE" TAG="$LATEST_TAG"
fi
echo
echo "✅ Concluído com sucesso."