6.0 KiB
6.0 KiB
🚀 Инструкции по запуску ERP MVP
📋 Требования
Системные требования
- Docker 20.10+
- Docker Compose 2.0+
- Git 2.30+
Минимальные ресурсы
- RAM: 4 GB
- CPU: 2 ядра
- Диск: 10 GB свободного места
🔧 Быстрый запуск
1. Клонирование репозитория
git clone <repository-url>
cd erp-mvp
2. Настройка переменных окружения
# Создание .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. Запуск всех сервисов
# Сборка и запуск всех контейнеров
docker-compose up -d
# Просмотр логов
docker-compose logs -f
# Проверка статуса сервисов
docker-compose ps
4. Проверка работоспособности
# 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
🔍 Мониторинг (опционально)
Запуск с мониторингом
# Запуск с Prometheus и Grafana
docker-compose --profile monitoring up -d
# Доступ к Grafana: http://localhost:3001
# Логин: admin / admin
Запуск с API Gateway
# Запуск с Traefik
docker-compose --profile gateway up -d
# Traefik Dashboard: http://localhost:8081
🛠️ Разработка
Локальная разработка
Core Service (Go)
cd core-service
go mod download
go run cmd/main.go
Document Service (Python)
cd doc-service
pip install -r requirements.txt
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Frontend (Angular)
cd frontend
npm install
npm start
Горячая перезагрузка
# Пересборка и перезапуск конкретного сервиса
docker-compose up -d --build core-service
# Пересборка всех сервисов
docker-compose up -d --build
🗄️ База данных
Подключение к PostgreSQL
# Через 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
Миграции
# Применение миграций (если есть)
docker-compose exec core-service ./migrate up
🔐 Безопасность
Изменение паролей по умолчанию
# В docker-compose.yml измените:
# - POSTGRES_PASSWORD
# - JWT_SECRET
# - REDIS_PASSWORD (если используется)
HTTPS (для продакшена)
# Добавьте SSL сертификаты
# Настройте Traefik для HTTPS
# Обновите переменные окружения
🐛 Устранение неполадок
Просмотр логов
# Все сервисы
docker-compose logs
# Конкретный сервис
docker-compose logs core-service
docker-compose logs doc-service
docker-compose logs frontend
# Следить за логами в реальном времени
docker-compose logs -f
Перезапуск сервисов
# Перезапуск конкретного сервиса
docker-compose restart core-service
# Перезапуск всех сервисов
docker-compose restart
Очистка данных
# Остановка и удаление контейнеров
docker-compose down
# Удаление с данными
docker-compose down -v
# Полная очистка
docker-compose down -v --rmi all
📊 Проверка работоспособности
Тестовые запросы
# Проверка 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
Проверка базы данных
# Подключение к 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"
🚀 Продакшен развертывание
Подготовка к продакшену
- Измените все пароли по умолчанию
- Настройте SSL сертификаты
- Настройте мониторинг
- Настройте бэкапы
- Обновите переменные окружения
Команды для продакшена
# Сборка оптимизированных образов
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
📞 Поддержка
При возникновении проблем:
- Проверьте логи:
docker-compose logs - Убедитесь, что все порты свободны
- Проверьте системные ресурсы
- Обратитесь к документации проекта