Files
2025-09-12 10:07:05 +05:00

4.7 KiB
Raw Permalink Blame History

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

Производственное развертывание

Безопасность

  1. Измените пароли по умолчанию
  2. Используйте secrets для чувствительных данных
  3. Настройте SSL/TLS
  4. Ограничьте сетевой доступ

Масштабирование

# Запуск нескольких экземпляров приложения
docker-compose up --scale app=3

Мониторинг

Рекомендуется добавить:

  • Prometheus для метрик
  • Grafana для визуализации
  • ELK Stack для логов

Troubleshooting

Проблемы с подключением к БД

  1. Убедитесь, что PostgreSQL запущен и готов
  2. Проверьте переменные окружения
  3. Проверьте сетевые настройки Docker

Проблемы с памятью

  1. Увеличьте лимиты памяти в JAVA_OPTS
  2. Настройте swap если необходимо

Проблемы с портами

  1. Убедитесь, что порты 8080 и 5432 свободны
  2. Измените порты в docker-compose.yml при необходимости