Files
MatchLiveTv/scripts/dev_sidekiq_relay.sh
T
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

50 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Worker coda youtube_relay_<slug>: parla con l'agent sul CPX (ffmpeg gira lì).
#
# Lab locale:
# STREAM_NODE_SLUG=ingest-lab-01 bash scripts/dev_sidekiq_relay.sh up
#
# CPX:
# STREAM_NODE_SLUG=ingest-01 STREAM_NODE_RELAY_AGENT_URL=http://1.2.3.4:9100 bash scripts/dev_sidekiq_relay.sh up
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
SLUG="${STREAM_NODE_SLUG:-ingest-lab-01}"
ACTION="${1:-up}"
NAME="infra-sidekiq-relay-${SLUG}"
export STREAM_NODE_SLUG="$SLUG"
cd "$ROOT/infra"
case "$ACTION" in
up)
docker rm -f "$NAME" >/dev/null 2>&1 || true
extra=()
if [[ -n "${STREAM_NODE_RELAY_AGENT_URL:-}" ]]; then
extra+=(
-e STREAM_NODE_RELAY_AGENT_URL="$STREAM_NODE_RELAY_AGENT_URL"
-e STREAM_NODE_AGENT_SECRET="${STREAM_NODE_AGENT_SECRET:-mediamtx_webhook_dev_secret}"
-e STREAM_NODE_LOCAL_RTMP_URL=rtmp://127.0.0.1:1935
-e STREAM_NODE_LOCAL_HLS_URL=http://127.0.0.1:8888
)
fi
docker compose --profile stream-node run -d --no-deps --name "$NAME" \
-e STREAM_NODE_SLUG="$SLUG" \
-e HOSTNAME="$SLUG" \
-e YOUTUBE_RELAY_WORKER=1 \
-e RELAY_MAX_CONCURRENT="${RELAY_MAX_CONCURRENT:-1}" \
"${extra[@]}" \
sidekiq_relay
echo "relay worker up name=${NAME} queue=youtube_relay_${SLUG} agent=${STREAM_NODE_RELAY_AGENT_URL:-local}"
;;
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-01 $0 up|down|logs" >&2
exit 1
;;
esac