4.7 KiB
4.7 KiB
Docker Setup для KonturAI
Этот документ содержит инструкции по сборке и запуску приложения KonturAI с использованием Docker.
Требования
- Docker 20.10+
- Docker Compose 2.0+
Быстрый старт
1. Запуск с Docker Compose (рекомендуется)
# Сборка и запуск всех сервисов
docker-compose up --build
# Запуск в фоновом режиме
docker-compose up -d --build
# Остановка сервисов
docker-compose down
# Остановка с удалением volumes (удалит данные БД)
docker-compose down -v
2. Ручная сборка и запуск
# Сборка Docker образа
docker build -t konturai:latest .
# Запуск PostgreSQL
docker run -d \
--name konturai-postgres \
-e POSTGRES_DB=konturai \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password \
-p 5432:5432 \
postgres:15-alpine
# Запуск приложения
docker run -d \
--name konturai-app \
-p 8080:8080 \
-e SPRING_DATASOURCE_URL=jdbc:postgresql://host.docker.internal:5432/konturai \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password \
konturai:latest
Переменные окружения
| Переменная | Описание | Значение по умолчанию |
|---|---|---|
SPRING_DATASOURCE_URL |
URL базы данных | jdbc:postgresql://postgres:5432/konturai |
POSTGRES_USER |
Пользователь БД | postgres |
POSTGRES_PASSWORD |
Пароль БД | password |
SPRING_JPA_HIBERNATE_DDL_AUTO |
Режим DDL | none |
JAVA_OPTS |
JVM параметры | -Xmx512m -Xms256m -XX:+UseContainerSupport -XX:MaxRAMPercentage=75.0 |
Порты
- 8080 - Spring Boot приложение
- 5432 - PostgreSQL база данных
Health Checks
Приложение включает health checks для мониторинга состояния:
- Приложение:
http://localhost:8080/actuator/health - PostgreSQL: автоматическая проверка готовности БД
Логи
# Просмотр логов приложения
docker-compose logs app
# Просмотр логов БД
docker-compose logs postgres
# Следить за логами в реальном времени
docker-compose logs -f app
Разработка
Hot Reload (для разработки)
Для разработки с автоматической пересборкой при изменениях:
# Запуск только БД
docker-compose up postgres
# Запуск приложения локально с подключением к Docker БД
./mvnw spring-boot:run
Отладка
# Подключение к контейнеру приложения
docker exec -it konturai-app sh
# Подключение к БД
docker exec -it konturai-postgres psql -U postgres -d konturai
Производственное развертывание
Безопасность
- Измените пароли по умолчанию
- Используйте secrets для чувствительных данных
- Настройте SSL/TLS
- Ограничьте сетевой доступ
Масштабирование
# Запуск нескольких экземпляров приложения
docker-compose up --scale app=3
Мониторинг
Рекомендуется добавить:
- Prometheus для метрик
- Grafana для визуализации
- ELK Stack для логов
Troubleshooting
Проблемы с подключением к БД
- Убедитесь, что PostgreSQL запущен и готов
- Проверьте переменные окружения
- Проверьте сетевые настройки Docker
Проблемы с памятью
- Увеличьте лимиты памяти в
JAVA_OPTS - Настройте swap если необходимо
Проблемы с портами
- Убедитесь, что порты 8080 и 5432 свободны
- Измените порты в docker-compose.yml при необходимости