| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/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
- PORT="${MCP_PORT:-${PORT:-8550}}"
- HOST="${MCP_HOST:-0.0.0.0}"
- LOG_DIR="logs"
- mkdir -p "$LOG_DIR"
- PID_FILE="$LOG_DIR/server.pid"
- LOG_FILE="$LOG_DIR/server.log"
- if [[ -f "$PID_FILE" ]]; then
- PID="$(cat "$PID_FILE" 2>/dev/null || true)"
- if [[ -n "${PID:-}" ]] && kill -0 "$PID" 2>/dev/null; then
- echo "Atlas already running (PID $PID)."
- exit 1
- else
- echo "Removing stale pidfile."
- rm -f "$PID_FILE"
- fi
- fi
- nohup python3 -m uvicorn app.main:app --host "$HOST" --port "$PORT" >"$LOG_FILE" 2>&1 &
- PID=$!
- echo "$PID" >"$PID_FILE"
- echo "Atlas started (PID $PID). Logs: $LOG_FILE"
|