Init project
This commit is contained in:
246
STARTUP.md
Normal file
246
STARTUP.md
Normal file
@@ -0,0 +1,246 @@
|
||||
# 🚀 Инструкции по запуску 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. Обратитесь к документации проекта
|
||||
Reference in New Issue
Block a user