gm-2api / setup.bat
xiaoyukkkk's picture
Upload 10 files
8cc0fda unverified
@echo off
REM Gemini Business2API Setup Script
REM Handles both installation and updates automatically
REM Uses uv for Python environment management
REM Usage: setup.bat
setlocal enabledelayedexpansion
echo ==========================================
echo Gemini Business2API Setup Script
echo ==========================================
echo.
REM Color codes for output (using echo instead of ANSI codes for better Windows compatibility)
set GREEN=[92m
set RED=[91m
set YELLOW=[93m
set BLUE=[94m
set NC=[0m
REM Function to print colored messages (simplified for Windows)
set "PRINT_SUCCESS=echo [SUCCESS]"
set "PRINT_ERROR=echo [ERROR]"
set "PRINT_INFO=echo [INFO]"
set "PRINT_STEP=echo [STEP]"
REM Check if git is installed
where git >nul 2>nul
if %errorlevel% neq 0 (
echo [ERROR] Git is not installed. Please install git first.
exit /b 1
)
REM Step 1: Install or update uv
echo [STEP] Step 1: Installing/Updating uv...
where uv >nul 2>nul
if %errorlevel% neq 0 (
echo [INFO] uv not found, installing...
REM Install uv using pipx or pip
pipx install uv 2>nul
if %errorlevel% neq 0 (
pip install --user uv 2>nul
if %errorlevel% neq 0 (
REM Fallback: download and install uv binary
curl -LsSf https://astral.sh/uv/install.bat | cmd
)
)
if %errorlevel% equ 0 (
echo [SUCCESS] uv installed successfully
) else (
echo [ERROR] Failed to install uv
exit /b 1
)
) else (
echo [INFO] Updating uv to latest version...
uv pip install --upgrade uv
echo [SUCCESS] uv updated
)
echo.
REM Step 2: Ensure Python 3.11 is available
echo [STEP] Step 2: Ensuring Python 3.11 is available...
uv python list | findstr /C:"3.11" >nul
if %errorlevel% neq 0 (
echo [INFO] Python 3.11 not found, installing...
uv python install 3.11
if %errorlevel% neq 0 (
echo [ERROR] Failed to install Python 3.11
exit /b 1
)
echo [SUCCESS] Python 3.11 installed
) else (
echo [SUCCESS] Python 3.11 is already available
)
echo.
REM Step 3: Pull latest code from git
echo [STEP] Step 3: Syncing code from repository...
echo [INFO] Fetching latest changes...
git fetch origin
echo [INFO] Pulling latest code...
git pull origin main 2>nul || git pull origin master 2>nul
if %errorlevel% equ 0 (
echo [SUCCESS] Code synchronized successfully
) else (
echo [INFO] No remote changes to pull
)
echo.
REM Step 4: Setup .env file if it doesn't exist
echo [STEP] Step 4: Checking configuration...
if exist .env (
echo [INFO] .env file exists
) else (
if exist .env.example (
copy .env.example .env >nul
echo [SUCCESS] .env file created from .env.example
echo [INFO] Please edit .env and configure your ADMIN_KEY
) else (
echo [ERROR] .env.example not found
exit /b 1
)
)
echo.
REM Step 5: Setup Python virtual environment
echo [STEP] Step 5: Setting up Python environment...
if exist .venv (
echo [INFO] Virtual environment already exists
) else (
echo [INFO] Creating virtual environment with Python 3.11...
uv venv --python 3.11 .venv
if %errorlevel% neq 0 (
echo [ERROR] Failed to create virtual environment
exit /b 1
)
echo [SUCCESS] Virtual environment created
)
echo.
REM Step 6: Install/Update Python dependencies
echo [STEP] Step 6: Installing Python dependencies...
echo [INFO] Using uv to install dependencies (this may take a moment)...
.venv\Scripts\python.exe -m pip install --upgrade pip --quiet
uv pip install -r requirements.txt
if %errorlevel% neq 0 (
echo [ERROR] Failed to install Python dependencies
exit /b 1
)
echo [SUCCESS] Python dependencies installed
echo.
REM Step 7: Setup frontend
echo [STEP] Step 7: Setting up frontend...
if exist frontend (
cd frontend
REM Check if npm is installed
where npm >nul 2>nul
if %errorlevel% equ 0 (
echo [INFO] Installing dependencies...
npm install
echo [INFO] Building frontend...
npm run build
echo [SUCCESS] Frontend built successfully
) else (
echo [ERROR] npm is not installed. Please install Node.js and npm first.
cd ..
exit /b 1
)
cd ..
) else (
echo [ERROR] Frontend directory not found. Are you in the project root?
exit /b 1
)
echo.
REM Step 8: Show completion message
echo ==========================================
echo [SUCCESS] Setup completed successfully!
echo ==========================================
echo.
if exist .env (
echo [INFO] Next steps:
echo.
echo 1. Edit .env file if needed:
echo notepad .env
echo.
echo 2. Start the service:
echo .venv\Scripts\python.exe main.py
echo.
echo 3. Access the admin panel:
echo http://localhost:7860/
echo.
echo [INFO] To activate virtual environment later, run:
echo .venv\Scripts\activate.bat
)
echo.
endlocal