- Created `.env.production` file to define relative paths for production deployment. - Updated frontend API and WebSocket client to use environment variables for dynamic URL handling. - Enhanced deployment scripts (`deploy-ubuntu.sh`, `start.sh`, `start.bat`) to generate `.env.production` automatically. - Added `PRODUCTION_URLS.md` for documentation on production URL configuration and troubleshooting.
		
			
				
	
	
		
			105 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| # Единый скрипт запуска AI Code Review Platform
 | |
| 
 | |
| set -e
 | |
| 
 | |
| echo "🚀 AI Code Review Platform - Запуск"
 | |
| echo "===================================="
 | |
| echo ""
 | |
| 
 | |
| # Цвета для вывода
 | |
| GREEN='\033[0;32m'
 | |
| YELLOW='\033[1;33m'
 | |
| NC='\033[0m' # No Color
 | |
| 
 | |
| # 1. Проверка Node.js
 | |
| echo -e "${YELLOW}📦 Проверка Node.js...${NC}"
 | |
| if ! command -v node &> /dev/null; then
 | |
|     echo "❌ Node.js не установлен! Установите Node.js 18+ и попробуйте снова."
 | |
|     exit 1
 | |
| fi
 | |
| echo -e "${GREEN}✅ Node.js $(node --version)${NC}"
 | |
| echo ""
 | |
| 
 | |
| # 2. Проверка Python
 | |
| echo -e "${YELLOW}🐍 Проверка Python...${NC}"
 | |
| if ! command -v python &> /dev/null && ! command -v python3 &> /dev/null; then
 | |
|     echo "❌ Python не установлен! Установите Python 3.10+ и попробуйте снова."
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| PYTHON_CMD="python3"
 | |
| if ! command -v python3 &> /dev/null; then
 | |
|     PYTHON_CMD="python"
 | |
| fi
 | |
| echo -e "${GREEN}✅ Python $($PYTHON_CMD --version)${NC}"
 | |
| echo ""
 | |
| 
 | |
| # 3. Установка зависимостей frontend
 | |
| echo -e "${YELLOW}📦 Установка зависимостей frontend...${NC}"
 | |
| cd frontend
 | |
| if [ ! -d "node_modules" ]; then
 | |
|     npm install
 | |
| else
 | |
|     echo "node_modules уже существует, пропускаем..."
 | |
| fi
 | |
| echo -e "${GREEN}✅ Зависимости frontend установлены${NC}"
 | |
| echo ""
 | |
| 
 | |
| # 4. Сборка frontend
 | |
| echo -e "${YELLOW}🔨 Сборка frontend...${NC}"
 | |
| 
 | |
| # Создаем .env.production для production
 | |
| cat > .env.production << 'EOF'
 | |
| VITE_API_URL=/api
 | |
| VITE_WS_URL=
 | |
| EOF
 | |
| 
 | |
| npm run build
 | |
| echo -e "${GREEN}✅ Frontend собран в backend/public${NC}"
 | |
| echo ""
 | |
| 
 | |
| # 5. Установка зависимостей backend
 | |
| cd ../backend
 | |
| echo -e "${YELLOW}📦 Установка зависимостей backend...${NC}"
 | |
| if [ ! -d "venv" ]; then
 | |
|     echo "Создание виртуального окружения..."
 | |
|     $PYTHON_CMD -m venv venv
 | |
| fi
 | |
| 
 | |
| # Активация venv
 | |
| source venv/bin/activate
 | |
| 
 | |
| # Установка зависимостей
 | |
| pip install -r requirements.txt
 | |
| echo -e "${GREEN}✅ Зависимости backend установлены${NC}"
 | |
| echo ""
 | |
| 
 | |
| # 6. Проверка .env
 | |
| if [ ! -f ".env" ]; then
 | |
|     echo -e "${YELLOW}⚠️  Файл .env не найден!${NC}"
 | |
|     echo "Создаем .env из примера..."
 | |
|     if [ -f ".env.example" ]; then
 | |
|         cp .env.example .env
 | |
|         echo -e "${GREEN}✅ Создан .env файл${NC}"
 | |
|         echo -e "${YELLOW}⚠️  ВАЖНО: Отредактируйте .env и добавьте необходимые токены!${NC}"
 | |
|     else
 | |
|         echo "❌ .env.example не найден!"
 | |
|     fi
 | |
|     echo ""
 | |
| fi
 | |
| 
 | |
| # 7. Запуск backend
 | |
| echo -e "${GREEN}🎉 Запуск сервера...${NC}"
 | |
| echo "===================================="
 | |
| echo ""
 | |
| echo "📍 Backend: http://localhost:8000"
 | |
| echo "📍 Frontend: http://localhost:8000"
 | |
| echo "📍 API Docs: http://localhost:8000/docs"
 | |
| echo ""
 | |
| echo "Для остановки нажмите Ctrl+C"
 | |
| echo ""
 | |
| 
 | |
| uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
 | |
| 
 |