open-notebook / scripts /wait-for-api.sh
baveshraam's picture
FIX: SurrealDB 2.0 migration syntax and Frontend/CORS link
f871fed
#!/bin/bash
# Wait for the API to be healthy before starting the frontend
# This prevents the "Unable to Connect to API Server" error during startup
API_URL="${INTERNAL_API_URL:-http://localhost:5055}"
MAX_RETRIES=60 # 60 retries * 5 seconds = 5 minutes max wait
RETRY_INTERVAL=5
echo "Waiting for API to be ready at ${API_URL}/health..." >&2
echo "Frontend will start on PORT=${PORT}" >&2
for i in $(seq 1 $MAX_RETRIES); do
if curl -s -f "${API_URL}/health" > /dev/null 2>&1; then
echo "API is ready! Starting frontend..." >&2
exit 0
fi
echo "Attempt $i/$MAX_RETRIES: API not ready yet, waiting ${RETRY_INTERVAL}s..." >&2
sleep $RETRY_INTERVAL
done
echo "ERROR: API did not become ready within $((MAX_RETRIES * RETRY_INTERVAL)) seconds" >&2
echo "Starting frontend anyway - users may see connection errors initially" >&2
exit 0 # Exit 0 so frontend still starts (better than nothing)