35 lines
964 B
Bash
Executable File
35 lines
964 B
Bash
Executable File
#!/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"
|