Spaces:
Runtime error
Runtime error
| # ================================================================ | |
| # FinBot β Full Stack Startup Script | |
| # Starts both the FastAPI backend and Next.js frontend together. | |
| # ================================================================ | |
| set -e | |
| ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "β IRIS IR Intelligence System β Startup β" | |
| echo "β Emirates NBD Β· Local Demo β" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "" | |
| # ββ Backend βββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "βΆ Starting FastAPI backend (port 8000)β¦" | |
| cd "$ROOT_DIR/backend" | |
| if [ ! -d ".venv" ]; then | |
| echo " Creating Python virtual environmentβ¦" | |
| python3 -m venv .venv | |
| fi | |
| source .venv/bin/activate | |
| PYTHON="$ROOT_DIR/backend/.venv/bin/python" | |
| echo " Installing backend dependenciesβ¦" | |
| "$PYTHON" -m pip install -q -r requirements.txt | |
| echo " Launching uvicornβ¦" | |
| export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 | |
| "$PYTHON" -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload & | |
| BACKEND_PID=$! | |
| # ββ Wait for backend βββββββββββββββββββββββββββββββββββββββββββββ | |
| echo " Waiting for backendβ¦" | |
| for i in {1..15}; do | |
| if curl -sf http://localhost:8000/api/health > /dev/null 2>&1; then | |
| echo " β Backend ready at http://localhost:8000" | |
| break | |
| fi | |
| sleep 1 | |
| done | |
| # ββ Frontend βββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "βΆ Starting Next.js frontend (port 3000)β¦" | |
| cd "$ROOT_DIR" | |
| npm run dev & | |
| FRONTEND_PID=$! | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo " IRIS running:" | |
| echo " Frontend β http://localhost:3000" | |
| echo " Backend β http://localhost:8000" | |
| echo " API docs β http://localhost:8000/api/docs" | |
| echo "" | |
| echo " Press Ctrl+C to stop both servers." | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| # Cleanup on exit | |
| trap "echo ''; echo 'Stoppingβ¦'; kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit" INT TERM | |
| wait | |