Spaces:
Sleeping
Sleeping
| @echo off | |
| REM Universal Deployment Script for Windows | |
| REM Multi-Lingual Catalog Translator | |
| setlocal enabledelayedexpansion | |
| REM Configuration | |
| set PROJECT_NAME=multilingual-catalog-translator | |
| set DEFAULT_PORT=8501 | |
| set BACKEND_PORT=8001 | |
| echo ======================================== | |
| echo Multi-Lingual Catalog Translator | |
| echo Universal Deployment Pipeline | |
| echo ======================================== | |
| echo. | |
| REM Parse command line arguments | |
| set COMMAND=%1 | |
| if "%COMMAND%"=="" set COMMAND=start | |
| REM Check if Python is installed | |
| python --version >nul 2>&1 | |
| if errorlevel 1 ( | |
| echo [ERROR] Python not found. Please install Python 3.8+ | |
| echo Download from: https://www.python.org/downloads/ | |
| pause | |
| exit /b 1 | |
| ) | |
| echo [SUCCESS] Python found | |
| REM Main command handling | |
| if "%COMMAND%"=="start" goto :auto_deploy | |
| if "%COMMAND%"=="docker" goto :docker_deploy | |
| if "%COMMAND%"=="standalone" goto :standalone_deploy | |
| if "%COMMAND%"=="status" goto :show_status | |
| if "%COMMAND%"=="stop" goto :stop_services | |
| if "%COMMAND%"=="help" goto :show_help | |
| echo [ERROR] Unknown command: %COMMAND% | |
| goto :show_help | |
| :auto_deploy | |
| echo [INFO] Starting automatic deployment... | |
| docker --version >nul 2>&1 | |
| if errorlevel 1 ( | |
| echo [INFO] Docker not found, using standalone deployment | |
| goto :standalone_deploy | |
| ) else ( | |
| echo [INFO] Docker found, using Docker deployment | |
| goto :docker_deploy | |
| ) | |
| :docker_deploy | |
| echo [INFO] Deploying with Docker... | |
| docker-compose down | |
| docker-compose up --build -d | |
| if errorlevel 1 ( | |
| echo [ERROR] Docker deployment failed | |
| pause | |
| exit /b 1 | |
| ) | |
| echo [SUCCESS] Docker deployment completed | |
| echo [INFO] Frontend available at: http://localhost:8501 | |
| echo [INFO] Backend API available at: http://localhost:8001 | |
| goto :end | |
| :standalone_deploy | |
| echo [INFO] Deploying standalone application... | |
| REM Create virtual environment if it doesn't exist | |
| if not exist "venv" ( | |
| echo [INFO] Creating virtual environment... | |
| python -m venv venv | |
| ) | |
| REM Activate virtual environment | |
| call venv\Scripts\activate.bat | |
| REM Install requirements | |
| echo [INFO] Installing Python packages... | |
| pip install --upgrade pip | |
| pip install -r requirements.txt | |
| REM Start the application | |
| echo [INFO] Starting application... | |
| REM Check if full-stack deployment | |
| if exist "backend\main.py" ( | |
| echo [INFO] Starting backend server... | |
| start /b cmd /c "cd backend && python -m uvicorn main:app --host 0.0.0.0 --port %BACKEND_PORT%" | |
| REM Wait for backend to start | |
| timeout /t 3 /nobreak >nul | |
| echo [INFO] Starting frontend... | |
| cd frontend | |
| set API_BASE_URL=http://localhost:%BACKEND_PORT% | |
| streamlit run app.py --server.port %DEFAULT_PORT% --server.address 0.0.0.0 | |
| cd .. | |
| ) else ( | |
| REM Run standalone version | |
| streamlit run app.py --server.port %DEFAULT_PORT% --server.address 0.0.0.0 | |
| ) | |
| echo [SUCCESS] Standalone deployment completed | |
| goto :end | |
| :show_status | |
| echo [INFO] Checking deployment status... | |
| REM Check if processes are running (simplified for Windows) | |
| tasklist /FI "IMAGENAME eq python.exe" | find "python.exe" >nul | |
| if errorlevel 1 ( | |
| echo [WARNING] No Python processes found | |
| ) else ( | |
| echo [SUCCESS] Python processes are running | |
| ) | |
| REM Check Docker containers | |
| docker ps --filter "name=%PROJECT_NAME%" >nul 2>&1 | |
| if not errorlevel 1 ( | |
| echo [INFO] Docker containers: | |
| docker ps --filter "name=%PROJECT_NAME%" --format "table {{.Names}}\t{{.Status}}" | |
| ) | |
| goto :end | |
| :stop_services | |
| echo [INFO] Stopping services... | |
| REM Stop Docker containers | |
| docker-compose down >nul 2>&1 | |
| REM Kill Python processes (simplified) | |
| taskkill /F /IM python.exe >nul 2>&1 | |
| echo [SUCCESS] All services stopped | |
| goto :end | |
| :show_help | |
| echo Multi-Lingual Catalog Translator - Universal Deployment Script | |
| echo. | |
| echo Usage: deploy.bat [COMMAND] | |
| echo. | |
| echo Commands: | |
| echo start Start the application (default) | |
| echo docker Deploy using Docker | |
| echo standalone Deploy without Docker | |
| echo status Show deployment status | |
| echo stop Stop all services | |
| echo help Show this help message | |
| echo. | |
| echo Examples: | |
| echo deploy.bat # Quick start (auto-detect best method) | |
| echo deploy.bat docker # Deploy with Docker | |
| echo deploy.bat standalone # Deploy without Docker | |
| echo deploy.bat status # Check status | |
| echo deploy.bat stop # Stop all services | |
| goto :end | |
| :end | |
| if "%COMMAND%"=="help" ( | |
| pause | |
| ) else ( | |
| echo. | |
| echo Press any key to continue... | |
| pause >nul | |
| ) | |
| endlocal | |