ops: appliance boot — wait for cameras/LiveKit, power button powers off

This commit is contained in:
Hermes
2026-08-28 05:45:11 +00:00
parent b5a2fe6440
commit abeea6256c
7 changed files with 103 additions and 10 deletions
+39
View File
@@ -0,0 +1,39 @@
#!/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.
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 (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