247 lines
6.0 KiB
Markdown
247 lines
6.0 KiB
Markdown
# 🚀 Инструкции по запуску ERP MVP
|
||
|
||
## 📋 Требования
|
||
|
||
### Системные требования
|
||
- **Docker** 20.10+
|
||
- **Docker Compose** 2.0+
|
||
- **Git** 2.30+
|
||
|
||
### Минимальные ресурсы
|
||
- **RAM:** 4 GB
|
||
- **CPU:** 2 ядра
|
||
- **Диск:** 10 GB свободного места
|
||
|
||
## 🔧 Быстрый запуск
|
||
|
||
### 1. Клонирование репозитория
|
||
```bash
|
||
git clone <repository-url>
|
||
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. Обратитесь к документации проекта
|