# 🚀 Инструкции по запуску ERP MVP ## 📋 Требования ### Системные требования - **Docker** 20.10+ - **Docker Compose** 2.0+ - **Git** 2.30+ ### Минимальные ресурсы - **RAM:** 4 GB - **CPU:** 2 ядра - **Диск:** 10 GB свободного места ## 🔧 Быстрый запуск ### 1. Клонирование репозитория ```bash git clone cd erp-mvp ``` ### 2. Настройка переменных окружения ```bash # Создание .env файла для Core Service cp core-service/.env.example core-service/.env # Создание .env файла для Document Service cp doc-service/.env.example doc-service/.env # Редактирование переменных (опционально) nano core-service/.env nano doc-service/.env ``` ### 3. Запуск всех сервисов ```bash # Сборка и запуск всех контейнеров docker-compose up -d # Просмотр логов docker-compose logs -f # Проверка статуса сервисов docker-compose ps ``` ### 4. Проверка работоспособности ```bash # Core Service API curl http://localhost:8080/health # Document Service API curl http://localhost:8000/health # Frontend curl http://localhost:3000/health ``` ## 🌐 Доступ к сервисам После успешного запуска: - **Frontend (Angular PWA):** http://localhost:3000 - **Core Service API:** http://localhost:8080 - **Document Service API:** http://localhost:8000 - **API Documentation:** http://localhost:8000/docs - **PostgreSQL:** localhost:5432 - **Redis:** localhost:6379 ## 🔍 Мониторинг (опционально) ### Запуск с мониторингом ```bash # Запуск с Prometheus и Grafana docker-compose --profile monitoring up -d # Доступ к Grafana: http://localhost:3001 # Логин: admin / admin ``` ### Запуск с API Gateway ```bash # Запуск с Traefik docker-compose --profile gateway up -d # Traefik Dashboard: http://localhost:8081 ``` ## 🛠️ Разработка ### Локальная разработка #### Core Service (Go) ```bash cd core-service go mod download go run cmd/main.go ``` #### Document Service (Python) ```bash cd doc-service pip install -r requirements.txt python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` #### Frontend (Angular) ```bash cd frontend npm install npm start ``` ### Горячая перезагрузка ```bash # Пересборка и перезапуск конкретного сервиса docker-compose up -d --build core-service # Пересборка всех сервисов docker-compose up -d --build ``` ## 🗄️ База данных ### Подключение к PostgreSQL ```bash # Через Docker docker-compose exec postgres psql -U erp_user -d erp_mvp # Или через внешний клиент # Host: localhost # Port: 5432 # Database: erp_mvp # Username: erp_user # Password: erp_pass ``` ### Миграции ```bash # Применение миграций (если есть) docker-compose exec core-service ./migrate up ``` ## 🔐 Безопасность ### Изменение паролей по умолчанию ```bash # В docker-compose.yml измените: # - POSTGRES_PASSWORD # - JWT_SECRET # - REDIS_PASSWORD (если используется) ``` ### HTTPS (для продакшена) ```bash # Добавьте SSL сертификаты # Настройте Traefik для HTTPS # Обновите переменные окружения ``` ## 🐛 Устранение неполадок ### Просмотр логов ```bash # Все сервисы docker-compose logs # Конкретный сервис docker-compose logs core-service docker-compose logs doc-service docker-compose logs frontend # Следить за логами в реальном времени docker-compose logs -f ``` ### Перезапуск сервисов ```bash # Перезапуск конкретного сервиса docker-compose restart core-service # Перезапуск всех сервисов docker-compose restart ``` ### Очистка данных ```bash # Остановка и удаление контейнеров docker-compose down # Удаление с данными docker-compose down -v # Полная очистка docker-compose down -v --rmi all ``` ## 📊 Проверка работоспособности ### Тестовые запросы ```bash # Проверка Core Service curl -X GET http://localhost:8080/health # Проверка Document Service curl -X GET http://localhost:8000/health # Проверка Frontend curl -X GET http://localhost:3000/health ``` ### Проверка базы данных ```bash # Подключение к PostgreSQL docker-compose exec postgres psql -U erp_user -d erp_mvp -c "SELECT version();" # Проверка таблиц docker-compose exec postgres psql -U erp_user -d erp_mvp -c "\dt" ``` ## 🚀 Продакшен развертывание ### Подготовка к продакшену 1. Измените все пароли по умолчанию 2. Настройте SSL сертификаты 3. Настройте мониторинг 4. Настройте бэкапы 5. Обновите переменные окружения ### Команды для продакшена ```bash # Сборка оптимизированных образов docker-compose -f docker-compose.yml -f docker-compose.prod.yml build # Запуск в продакшене docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d ``` ## 📞 Поддержка При возникновении проблем: 1. Проверьте логи: `docker-compose logs` 2. Убедитесь, что все порты свободны 3. Проверьте системные ресурсы 4. Обратитесь к документации проекта