| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/usr/bin/env bash
- set -euo pipefail
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- cd "$SCRIPT_DIR"
- if [[ -f .env ]]; then
- set -a
- # shellcheck source=/dev/null
- source .env
- set +a
- fi
- if [[ -f .venv/bin/activate ]]; then
- # shellcheck source=/dev/null
- source .venv/bin/activate
- fi
- LOG_DIR="logs"
- mkdir -p "$LOG_DIR"
- PID_FILE="$LOG_DIR/server.pid"
- LOG_FILE="$LOG_DIR/server.log"
- if [[ -f "server.pid" ]]; then
- rm -f "server.pid"
- fi
- if [[ -f "$PID_FILE" ]]; then
- PID=$(cat "$PID_FILE")
- if kill -0 "$PID" >/dev/null 2>&1; then
- echo "Server already running (PID $PID)."
- exit 1
- else
- echo "Stale PID file, removing."
- rm -f "$PID_FILE"
- fi
- fi
- nohup python3 -m uvicorn virtuoso_mcp:app --host 0.0.0.0 --port 8501 >"$LOG_FILE" 2>&1 &
- PID=$!
- echo "$PID" >"$PID_FILE"
- echo "Server started (PID $PID). Logs: $LOG_FILE"
|