#!/bin/bash # Starts the signaling server. Secrets come from .env next to this script set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ENV_FILE="$SCRIPT_DIR/.env" if [ ! -f "$ENV_FILE" ]; then echo "Missing $ENV_FILE — copy .env.example to .env and fill in the values." >&2 exit 1 fi # Export every variable defined in .env set -a source "$ENV_FILE" set +a for var in CF_APP_ID CF_APP_TOKEN NAME_SALT; do if [ -z "${!var}" ]; then echo "$var is not set in $ENV_FILE" >&2 exit 1 fi done export CONTAINER_NAME="${CONTAINER_NAME:-css-test}" # Stop any old instance and wait until it is gone (frees port 3000) pkill -f signaling-server.js || true for i in $(seq 1 10); do pgrep -f signaling-server.js > /dev/null || break sleep 0.5 done cd "$SCRIPT_DIR/streaming-agent" node signaling-server.js &> "$SCRIPT_DIR/signaling.log" & echo "Signaling server started (PID $!), logs at $SCRIPT_DIR/signaling.log"