#!/bin/bash # ============================================ # Chat Switchboard - Backend Launcher # ============================================ # Runs as an nginx entrypoint.d hook. # Starts the Go backend in the background # before nginx begins accepting connections. # ============================================ set -e echo "🔀 Starting Chat Switchboard backend..." # Launch Go backend in background /usr/local/bin/switchboard & BACKEND_PID=$! # Wait for backend to be ready (max 10s) for i in $(seq 1 20); do if wget -q --spider http://localhost:${PORT:-8080}/health 2>/dev/null; then echo "✅ Backend ready (PID ${BACKEND_PID})" exit 0 fi sleep 0.5 done echo "❌ Backend failed to start within 10s" exit 1