IntegraChat / start.bat
nothingworry's picture
all the thing
78b6d7b
raw
history blame
3.58 kB
@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