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