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 ---
60 lines
1.4 KiB
Bash
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." |