Files
MatchLiveTv/scripts/deploy/collaudo_relay_worker.sh
eminuxandCursor baa6283a15 Mantiene la copertina YouTube se il telefono cade e avvia ffmpeg sul nodo, non via SSH.
Il relay HLS→RTMPS resta sul worker/agent del nodo assegnato, così tre dirette contemporanee restano in onda sul sito e sul canale della società senza schermo nero.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-16 20:41:46 +02:00

38 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Avvia/ferma un worker ffmpeg per un nodo lab, riusando l'immagine Sidekiq di collaudo.
# Uso:
# STREAM_NODE_SLUG=ingest-lab-01 bash scripts/deploy/collaudo_relay_worker.sh up
# STREAM_NODE_SLUG=ingest-lab-01 bash scripts/deploy/collaudo_relay_worker.sh down
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
SLUG="${STREAM_NODE_SLUG:?Imposta STREAM_NODE_SLUG (es. ingest-lab-01)}"
ACTION="${1:-up}"
NAME="infra-sidekiq-relay-${SLUG}"
COMPOSE=(bash "$ROOT/scripts/deploy/collaudo_compose.sh")
case "$ACTION" in
up)
docker rm -f "$NAME" >/dev/null 2>&1 || true
"${COMPOSE[@]}" run -d --name "$NAME" --no-deps \
-e STREAM_NODE_SLUG="$SLUG" \
-e YOUTUBE_RELAY_WORKER=1 \
-e HOSTNAME="$SLUG" \
-e STREAM_NODE_LOCAL_RTMP_URL=rtmp://mediamtx:1935 \
-e STREAM_NODE_LOCAL_HLS_URL=http://mediamtx:8888 \
sidekiq \
bash -lc "bundle exec sidekiq -c \${RELAY_MAX_CONCURRENT:-2} -q youtube_relay_${SLUG} -e production"
echo "relay worker up name=${NAME} queue=youtube_relay_${SLUG}"
;;
down)
docker rm -f "$NAME" >/dev/null 2>&1 || true
echo "relay worker down name=${NAME}"
;;
logs)
docker logs -f --tail=80 "$NAME"
;;
*)
echo "Uso: STREAM_NODE_SLUG=ingest-lab-01 $0 up|down|logs" >&2
exit 1
;;
esac