| 123456789101112131415161718192021222324252627282930 |
- #!/usr/bin/env bash
- set -euo pipefail
- # Runs the Wikipedia3D FastAPI server in the background.
- # Uses a project-local venv to avoid global Python pollution.
- ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- VENV_DIR="$ROOT_DIR/.venv"
- PID_FILE="$ROOT_DIR/.uvicorn.pid"
- if [[ -f "$PID_FILE" ]] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
- echo "Server already running (pid $(cat "$PID_FILE"))."
- exit 0
- fi
- if [[ ! -d "$VENV_DIR" ]]; then
- python3 -m venv "$VENV_DIR"
- fi
- # shellcheck disable=SC1091
- source "$VENV_DIR/bin/activate"
- pip install -r "$ROOT_DIR/server/requirements.txt" >/dev/null
- nohup uvicorn server.app:app --host 0.0.0.0 --port 8088 --reload \
- >"$ROOT_DIR/uvicorn.log" 2>&1 &
- echo $! > "$PID_FILE"
- echo "Started Wikipedia3D FastAPI (pid $(cat "$PID_FILE"))."
|