Primakov Alexandr Alexandrovich 70889421ea Implement relative paths for frontend API and WebSocket connections
- 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.
2025-10-12 23:53:47 +03:00

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