pult-session-manager
pult-session-manager — служебный компонент управления пользовательскими сессиями в web-интерфейсе и связанных сервисах. Подключение зависит от конфигурации: его выносят в отдельный сервис там, где так устроена архитектура сессий.
Дистрибутивы и образы см. в разделе Дистрибутивы.
Подготовка
Перед запуском pult-session-manager вручную создайте в PostgreSQL отдельную базу данных и пользователя (отличные от основной БД Пульта, если требуется изоляция).
При первом запуске session-manager в указанной БД автоматически создаст необходимые таблицы.
Сервис в docker-compose.yml
Добавьте сервис pult-session-manager в docker-compose.yml:
pult-session-manager:
image: registry.pult.chislitellab.ru:8123/releases/2.3.0/session-manager-redos8:7.4.9
container_name: pult-session-manager
restart: unless-stopped
environment:
# БД и пользователь создаются вручную до запуска
DATABASE_URL: "postgres://pult:changeme@postgresql:5432/session_manager?sslmode=disable"
PULT_SHARED_SECRET: "change-me"
CORS_ALLOWED_ORIGINS: "http://<external_pult-web_hostname>:<port>"
ports:
- "18081:8080"
| Переменная | Описание |
|---|---|
DATABASE_URL | Строка подключения к PostgreSQL (хост, пользователь, пароль, имя БД) |
PULT_SHARED_SECRET | Общий секрет для аутентификации между pult-web и session-manager |
CORS_ALLOWED_ORIGINS | Внешний адрес и порт pult-web, с которого разрешены запросы к API |
Порт 18081:8080 пробрасывает API session-manager на хост (18081 — внешний порт).
Настройка pult-web
Добавьте переменные окружения в сервис pult-web (блок environment или env_file):
environment:
SESSION_MANAGER_API_URL: "http://pult-session-manager:8080"
SESSION_MANAGER_SHARED_SECRET: "change-me"
UP9_ENABLED: "true"
ADMIN_MAX_CONCURRENT_SESSIONS: "2"
SESSION_MANAGER_PUBLIC_API_URL: "http://<external_host_ip>:18081"
SESSION_MANAGER_TIMEOUT_MS: "2000"
| Переменная | Описание |
|---|---|
SESSION_MANAGER_API_URL | Внутренний URL session-manager в docker-сети (имя сервиса pult-session-manager, порт 8080) |
SESSION_MANAGER_SHARED_SECRET | Должен совпадать с PULT_SHARED_SECRET в конфигурации pult-session-manager |
UP9_ENABLED | Включение модуля UP9: контроль параллельных сессий, архив удалённых пользователей, автоблокировка неактивных. При false правила UP9 не применяются (авторизация по штатной схеме Zabbix). Имеет приоритет над переключателем в интерфейсе модуля |
ADMIN_MAX_CONCURRENT_SESSIONS | Верхняя граница одновременных сессий для учётных записей с ролью Super admin (type = 3). Рекомендуемое значение по УПД.9 — 2; через UI не настраивается |
SESSION_MANAGER_PUBLIC_API_URL | Внешний URL для клиента: http://<IP_или_hostname_хоста>:18081 |
SESSION_MANAGER_TIMEOUT_MS | Таймаут обращения к session-manager (мс) |
Важно: значение
SESSION_MANAGER_SHARED_SECRETвpult-webиPULT_SHARED_SECRETвpult-session-managerдолжны быть одинаковыми.
Запуск
docker compose up -d pult-session-manager pult-web
После изменения переменных окружения перезапустите затронутые сервисы:
docker compose up -d pult-session-manager pult-web
Активация модуля управления сессиями в Web UI Пульта
Для активации модуля управления сессиями перейдите в Администрирование → Общие → Модули.

Введите в поле Имя название модуля Управление сессиями и доступом, нажмите Применить и смените состояние модуля на «Активировано».
Если модуль не найден, нажмите Сканировать директорию.

Состояние модуля станет «Активировано».

В разделе Администрирование появится пункт Управление сессиями и доступом.
