35 lines
617 B
Bash
35 lines
617 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
echo "[1/3] 启动 FastAPI: http://127.0.0.1:8000"
|
|
(
|
|
cd "$ROOT_DIR"
|
|
python -m uvicorn backend.api.main:app --host 127.0.0.1 --port 8000 --reload
|
|
) &
|
|
API_PID=$!
|
|
|
|
echo "[2/3] 启动 Next.js: http://127.0.0.1:3000"
|
|
(
|
|
cd "$ROOT_DIR/frontend"
|
|
npm run dev
|
|
) &
|
|
WEB_PID=$!
|
|
|
|
echo "[3/3] 保留 Streamlit: http://127.0.0.1:8501"
|
|
(
|
|
cd "$ROOT_DIR"
|
|
streamlit run app.py
|
|
) &
|
|
ST_PID=$!
|
|
|
|
cleanup() {
|
|
echo "Shutting down..."
|
|
kill "$API_PID" "$WEB_PID" "$ST_PID" 2>/dev/null || true
|
|
}
|
|
|
|
trap cleanup EXIT INT TERM
|
|
wait
|
|
|