Spaces:
Sleeping
Sleeping
File size: 3,577 Bytes
20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 78b6d7b 67b7db4 78b6d7b 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 20a1017 67b7db4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
@echo off
setlocal enabledelayedexpansion
echo ========================================
echo Starting IntegraChat Backend Server
echo ========================================
echo.
REM Get the directory where the batch file is located and move to project root
cd /d "%~dp0"
REM Validate project structure
if not exist "backend" (
echo ERROR: backend directory not found!
echo Please make sure you're running this from the project root.
pause
exit /b 1
)
if not exist "requirements.txt" (
echo ERROR: requirements.txt not found in project root!
pause
exit /b 1
)
REM Check if Python is available
python --version >nul 2>&1
if errorlevel 1 (
echo ERROR: Python is not installed or not in PATH!
echo Please install Python 3.10+ and add it to your PATH.
pause
exit /b 1
)
echo Python version:
python --version
echo.
REM Create virtual environment if needed
if not exist "venv\Scripts\activate.bat" (
echo Creating virtual environment...
python -m venv venv
if errorlevel 1 (
echo ERROR: Failed to create virtual environment!
pause
exit /b 1
)
)
REM Activate virtual environment
echo Activating virtual environment...
call venv\Scripts\activate.bat
if errorlevel 1 (
echo ERROR: Failed to activate virtual environment!
pause
exit /b 1
)
echo.
REM Install dependencies from root requirements.txt
echo Installing/validating dependencies...
pip install --upgrade pip >nul
pip install -r requirements.txt
if errorlevel 1 (
echo ERROR: Failed to install dependencies!
pause
exit /b 1
)
echo.
REM Check if .env file exists in root
if not exist ".env" (
echo Warning: .env file not found in project root!
echo Please create .env from env.example if needed.
echo.
)
REM Prepare environment variables
set PYTHONPATH=%cd%
set "APP_PORT=8000"
if not "%API_PORT%"=="" (
set "APP_PORT=%API_PORT%"
)
set "VENV_PYTHON=%cd%\venv\Scripts\python.exe"
if not exist "%VENV_PYTHON%" (
echo ERROR: Could not find python executable in venv!
pause
exit /b 1
)
REM Launch unified MCP server (in its own window so you can see logs)
if not exist "backend\mcp_server\server.py" (
echo ERROR: backend\mcp_server\server.py not found!
pause
exit /b 1
)
REM Configure default MCP endpoints if not provided
if "%MCP_PORT%"=="" (
set "MCP_PORT=8900"
)
if "%RAG_MCP_URL%"=="" (
set "RAG_MCP_URL=http://localhost:%MCP_PORT%/rag"
)
if "%WEB_MCP_URL%"=="" (
set "WEB_MCP_URL=http://localhost:%MCP_PORT%/web"
)
if "%ADMIN_MCP_URL%"=="" (
set "ADMIN_MCP_URL=http://localhost:%MCP_PORT%/admin"
)
echo.
echo Launching unified MCP server (rag/web/admin)...
start "Unified MCP" cmd /k ""%VENV_PYTHON%" -m backend.mcp_server.server"
timeout /t 2 >nul
echo Unified MCP server window opened (titled 'Unified MCP'). Close it manually to stop the MCP server.
echo.
REM Start the FastAPI server
echo ========================================
echo Starting FastAPI server...
echo Server will be available at:
echo http://localhost:%APP_PORT%
echo http://127.0.0.1:%APP_PORT%
echo ========================================
echo.
echo Press Ctrl+C to stop the server
echo.
python -m uvicorn backend.api.main:app --reload --host 0.0.0.0 --port %APP_PORT%
if errorlevel 1 (
echo.
echo ERROR: Failed to start the server!
echo.
echo Common issues:
echo 1. Verify backend/api/main.py exists
echo 2. Ensure dependencies installed correctly
echo 3. Check if another process is using port %APP_PORT%
echo.
)
pause
endlocal
|