Files
Mini-ERP-app/STARTUP.md
2025-08-27 12:47:23 +04:00

247 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 Инструкции по запуску 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. Обратитесь к документации проекта