ops: appliance boot — wait for cameras/LiveKit, power button powers off
This commit is contained in:
Executable
+39
@@ -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
|
||||
Reference in New Issue
Block a user