#!/bin/bash
# تشغيل سيرفر uvicorn في الخلفية (يستمر بعد إغلاق الطرفية)
# الاستخدام: ./scripts/start-server.sh

cd "$(dirname "$0")/.."
PROJECT_ROOT="$(pwd)"
VENV="$PROJECT_ROOT/venv"
PID_FILE="$PROJECT_ROOT/uvicorn.pid"
LOG_FILE="$PROJECT_ROOT/logs/uvicorn.log"
HOST="${UVICORN_HOST:-0.0.0.0}"
PORT="${UVICORN_PORT:-8000}"

mkdir -p "$PROJECT_ROOT/logs"

if [ -f "$PID_FILE" ]; then
  OLD_PID=$(cat "$PID_FILE")
  if kill -0 "$OLD_PID" 2>/dev/null; then
    echo "السيرفر يعمل بالفعل (PID: $OLD_PID). للإيقاف: ./scripts/stop-server.sh"
    exit 1
  fi
  rm -f "$PID_FILE"
fi

source "$VENV/bin/activate"
# Optional: set DISABLE_OPENSSL_FIPS=1 to try fixing MongoDB Atlas "TLSV1_ALERT_INTERNAL_ERROR" on FIPS OpenSSL
if [ -n "${DISABLE_OPENSSL_FIPS:-}" ]; then
  export OPENSSL_FIPS=0
fi
nohup python -m uvicorn genai.main:app --host "$HOST" --port "$PORT" >> "$LOG_FILE" 2>&1 &
echo $! > "$PID_FILE"
echo "تم تشغيل السيرفر (PID: $(cat $PID_FILE)) على http://$HOST:$PORT"
echo "السجلات: $LOG_FILE"
echo "لإيقاف السيرفر: ./scripts/stop-server.sh"
