Files
decap-stream/build.sh
T
Kralot 1f8385e450 Migrate to Chromium, unified VNC, thumbnails, autologin CDP detection
---

- 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

---
2026-04-24 23:08:42 -03:00

60 lines
1.4 KiB
Bash

#!/bin/bash
set -e
DEFAULT_IMAGE="git.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."