run.sh 605 B

1234567891011121314151617181920212223242526
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  4. cd "$SCRIPT_DIR"
  5. LOG_DIR="logs"
  6. mkdir -p "$LOG_DIR"
  7. PID_FILE="server.pid"
  8. LOG_FILE="$LOG_DIR/server.log"
  9. if [[ -f "$PID_FILE" ]]; then
  10. PID=$(cat "$PID_FILE")
  11. if kill -0 "$PID" >/dev/null 2>&1; then
  12. echo "Server already running (PID $PID)."
  13. exit 1
  14. else
  15. echo "Stale PID file, removing."
  16. rm -f "$PID_FILE"
  17. fi
  18. fi
  19. nohup python3 -m uvicorn virtuoso_mcp:app --host 0.0.0.0 --port 8501 >"$LOG_FILE" 2>&1 &
  20. PID=$!
  21. echo "$PID" >"$PID_FILE"
  22. echo "Server started (PID $PID). Logs: $LOG_FILE"