Архитектура развёртывания
Варианты развёртывания
Приложение ПУМА развёртывается с использованием Docker.
Базовая архитектура позволяет развернуть автономную конфигурацию приложения без дополнительных зависимостей. Используется для ознакомления с системой и как база для рабочей среды.
В рабочей среде (продакшен) архитектура развёртывания может быть изменена в соответствии с требованиями инфраструктуры организации. Вместо контейнеров postgres-puma и caddy-puma могут быть использованы другие экземпляры БД и веб-сервера (существующие в инфраструктуре организации). Данное решение принимает администратор организации.
Данный документ описывает базовую архитектуру развёртывания.
Базовая архитектура развёртывания
Базовая архитектура описывается файлом docker-compose.yml в дистрибутиве приложения.
Базовая версия использует три докер-контейнера в группе «puma»:
-
puma – приложение ПУМА.
Порт по умолчанию: 8080
-
postgres-puma – база данных PostgreSQL 14.1.
Порт по умолчанию: 5432
-
caddy-puma – веб-сервер Caddy.
Порты по умолчанию: 80/443
Файловая система контейнеров отображается на файловую систему родительской ОС в папку <puma-root>, которая зависит от операционной системы и конфигурации развёртывания (см. Шаг 3. Настройка параметров развёртывания). По умолчанию это:
-
c:\puma\ - для Windows
-
/opt/puma/ - для Linux
В папке <puma-root> присутствуют дочерние папки, используемые докер-контейнерами для хранения данных и чтения конфигурации:
- postgresql – данные PostgreSQL
- config – дополнительные файлы конфигурации ПУМА
- custom – файлы кастомизации интерфейса ПУМА
- import – файлы для синхронизации структуры подразделений и сотрудников с БД организации
- logs – файлы логов приложения ПУМА
- caddy – настройки сервера Caddy
Логи приложения
Логи приложения ПУМА хранятся в текстовых файлах в папке <puma-root>/logs:
- puma-info.log – информационные сообщения
- puma-debug.log – более детальные сообщения для отладки
- puma-trace.log – ещё более детальные сообщения для более глубокой отладки
Как правило, для отслеживания работы приложения достаточно файла puma-info.log.