Files
livekit-cameras/deploy/wait-for-livekit.sh
root 95bb7c50ee feat: point the fleet at wss LiveKit room uwh-telhai
Publish and subscribe over wss://livekit.uni-wh.de:7800 and refuse
cleartext ws://. Conference room is uwh-telhai. Includes the uncommitted
encoded H.264 publish path, Rally hairpin, and KMS wall overlay.
2026-10-11 00:48:50 +00:00

43 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Wait until LIVEKIT_URL (from .env) accepts TCP. Used so publishers do not
# race the local test livekit-server on boot. When LIVEKIT_URL points at a
# remote host this waits on that host instead.
#
# bash /dev/tcp to an unreachable host can hang until the kernel SYN timeout
# (longer than systemd TimeoutStartSec). Cap each probe at 1s.
set -u
ENV_FILE=/home/fdenkena/livekit-cameras/.env
if [ -f "$ENV_FILE" ]; then
set -a
# shellcheck disable=SC1090
. "$ENV_FILE"
set +a
fi
URL="${LIVEKIT_URL:-ws://127.0.0.1:7880}"
rest="${URL#*://}"
hostport="${rest%%/*}"
host="${hostport%%:*}"
port="${hostport##*:}"
case "$hostport" in
*:*) ;;
*)
case "$URL" in
wss://*) port=443 ;;
*) port=80 ;;
esac
;;
esac
if [ "$host" = "localhost" ]; then
host=127.0.0.1
fi
echo "wait-for-livekit: $host:$port"
for _ in $(seq 1 30); do
if timeout 1 bash -c "echo >/dev/tcp/${host}/${port}" 2>/dev/null; then
echo "wait-for-livekit: ready"
exit 0
fi
sleep 1
done
echo "wait-for-livekit: $host:$port not reachable after 30s" >&2
exit 1