Перейти к основному содержанию

Конфигурация системы

Около 5 мин

Конфигурация системы

StormBPMN использует двухуровневую систему настроек, которая обеспечивает гибкость конфигурации для различных сценариев развертывания.

Два уровня настроек

Уровень 1: Переменные окружения (ENV) - базовые настройки инфраструктуры Уровень 2: Административная панель - бизнес-логика и функциональность

Уровень 1: Переменные окружения (ENV)

Переменные окружения настраиваются до запуска контейнера и определяют базовую инфраструктуру системы. Эти параметры требуют перезагрузки приложения для применения изменений.

ПеременнаяОписаниеПример значенияОбязательно
JDBC_URLСтрока подключения к PostgreSQLjdbc:postgresql://192.168.0.6:5432/storm
JDBC_USERNAMEИмя пользователя базы данныхstormuser
JDBC_PASSWORDПароль пользователяsecure_password_123
JAVA_OPTSНастройки памяти для JVM"-Xmx8g"
SPRING_PROFILES_ACTIVEПрофиль Spring Bootprod
JWTSECRETСоль для шифрования паролейНе менее 64 случайных символов
LICENSE_KEYЛицензионный ключ EnterpriseeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
S3_ENDPOINTURL S3-совместимого хранилищаhttp://192.168.0.4:9000Файлы
S3_ACCESS_KEYКлюч доступа к S3stormbpmn-s3-userФайлы
S3_SECRET_KEYСекретный ключ S3stormbpmn-s3-passwordФайлы
S3_REGIONРегион S3 (если имеется)ru-3Файлы
S3_BUCKET_UPLOADSБакет по умолчаниюstorm-uploadsФайлы
S3_BUCKET_USERSБакет для пользователейstorm-usersФайлы
S3_BUCKET_IMPORTSБакет для импортовstorm-importsФайлы
S3_VIRTUAL_HOSTТип адресации vHostedfalseФайлы
S3_SINGLE_USERS_BUCKETРежим единого бакета для пользователейtrueФайлы
PLANTUML_SERVERURL сервера PlantUMLhttp://192.168.0.5:8090/Опционально
GOTENBERG_URLURL сервиса Gotenberghttp://192.168.0.5:3001PDF
EMAIL_PROVIDERТип почтового провайдераlistmonk или smtp
LISTMONK_BASE_URLURL API ListMonkhttp://localhost:9000/api
LISTMONK_USERNAMEИмя API пользователяstormbpmn
LISTMONK_PASSWORDAPI токенapi-token-here
REDIS_ENABLEDВключение Redis (для совместного редактирования)trueКоллаборация
REDIS_HOSTХост Redis192.168.0.7Коллаборация
REDIS_PORTПорт Redis6379Коллаборация
REDIS_PASSWORDПароль Redisyour-passwordКоллаборация
REDIS_DATABASEНомер базы данных Redis0Коллаборация
REDIS_TIMEOUTТаймаут подключения к Redis1000msКоллаборация
AUDIT_ENABLEDВключение аудита запросовtrueБезопасность
AUDIT_CHANNELКанал аудит-логовsyslogБезопасность
SYSLOG_SERVERSСписок syslog серверовlocalhost:514,192.168.78.53:601Безопасность
SYSLOG_SOURCEНазвание приложения в логахstormbpmnБезопасность

Важные замечания

  • PostgreSQL схема: Для подключения к определенной схеме используйте: jdbc:postgresql://localhost:5432/mydatabase?currentSchema=myschema
  • Расширения PostgreSQL: база должна быть в кодировке UTF8 и иметь расширения pgvector (vector), pg_trgm, pgcrypto, uuid-ossp, hstore. pg_trgm создаётся вручную, остальные — миграциями при первом запуске. Стандартный postgres:17 не содержит pgvector — используйте образ pgvector/pgvector:pg17. Подробнее: «Требования к PostgreSQL».
  • S3-хранилище: Без S3 ограничены возможности: нет миниатюр диаграмм, аватаров пользователей и работы с документами
  • EMAIL_PROVIDER: Для ListMonk укажите listmonk, для простого SMTP - SMTP
  • SMTP настройки: При использовании простого SMTP дополнительные параметры настраиваются в административной панели

Легенда обязательности

СимволЗначение
Обязательно - система не запустится без этих параметров
ФайлыДля файлов - нужно для работы с документами и изображениями
ОпциональноОпционально - для дополнительной функциональности
PDFДля PDF - требуется для генерации документов
КоллаборацияСовместное редактирование - Redis для multi-instance, не требуется при одном экземпляре
БезопасностьДля безопасности - нужно для соответствия требованиям ИБ

Уровень 2: Административная панель

Настройки в административной панели управляют бизнес-логикой приложения и могут изменяться без перезагрузки системы.

Доступ к админке

Административная панель доступна по адресу: /app/admin Требуются права администратора команды.

Общие настройки системы

Базовые параметры

ПараметрОписаниеПример значенияОбязательно
baseUrlБазовый URL для ссылок в письмахhttps://stormbpmn.company.com

Настройки команд и пользователей

ПараметрОписаниеРекомендация
enableCommonAssetsОбщие элементы архитектуры для всех команд✅ Включить для больших организаций
enableCommonRolesОбщие роли для всех команд✅ Включить для унификации
enableCommonUsersОбщая организационная структура✅ Включить при централизованном управлении
autoJoinTeamIdID команды для автоматического добавления новых пользователейУкажите ID основной команды
disableTeamPopUpОтключить предложение создать команду✅ Включить при централизованном управлении
disableTeamCreationЗапретить создание команд✅ Включить при строгом контроле

Публичный доступ

ПараметрОписаниеРекомендация
allDiagramsAnonAccessАнонимный доступ ко всем диаграммам❌ Отключить для безопасности
enableAnonSearchPageПоиск для анонимных пользователейПо требованию бизнеса

Экран входа и регистрация

ПараметрОписаниеРекомендация
showRegistratonОтображать базовую регистрацию. При выключении скрываются ссылка «Создать сейчас» на экране входа, форма регистрации и кнопка регистрации на странице лицензии (с версии 6.6.6668)❌ Отключить, если пользователи заводятся только администратором/через SSO

Ключ настройки — именно `showRegistraton`

В ключе исторически пропущена буква «i» (не showRegistration). Ищите настройку в админке по названию «Отображать базовую регистрацию» (группа «Безопасность»).

Лицензирование

ПараметрОписаниеРекомендация
autoEnableEnterpriseLicenseАвтоматическая выдача лицензий✅ Включить для упрощения
createPendingEnterpriseUsersСоздавать неактивную учётную запись при попытке входа, если авто-выдача лицензий отключена. Учётная запись появляется в «Управлении пользователями» со статусом «Ожидает активации» и не потребляет лицензию, пока администратор её не активирует. Подробнее: Учётные записи «Ожидает активации»Включить, если лицензии выдаются по заявкам через службу поддержки
licensePageHtmlСобственный HTML-блок на странице статуса лицензии /license-active (с версии 6.6.6668). Подробнее: Кастомизация страницы лицензииПо требованию бизнеса

Сценарий «выдача лицензий по заявкам» (СТП)

Если лицензии выдаются по согласованным заявкам, выключите autoEnableEnterpriseLicense и включите createPendingEnterpriseUsers:

  1. Пользователь впервые входит через SSO/LDAP (или регистрируется) — учётная запись создаётся неактивной, лицензия не расходуется. Пользователь видит сообщение «учетная запись создана, но лицензия не выдана — обратитесь к администратору сервера».
  2. Администратор в «Управлении пользователями» видит такие учётные записи со статусом «Ожидает активации» и активирует нужную в один клик. При нехватке свободных лицензий активация завершится понятной ошибкой.
  3. После активации пользователь входит без ограничений, учётная запись начинает потреблять лицензию.

При выключенных обеих настройках вход неизвестному пользователю запрещён и учётная запись не создаётся (прежнее поведение).

Настройки простого SMTP

Требуется перезагрузка

Все настройки SMTP применяются только после перезагрузки приложения.

ПараметрОписаниеПример значения
simpleEmailEnabledВключить простой SMTPtrue
simpleSmtpHostSMTP хостsmtp.company.com
simpleSmtpPortSMTP порт587
simpleSmtpUsernameSMTP пользовательstormbpmn@company.com
simpleSmtpPasswordSMTP парольsecure-password
simpleSmtpFromEmail отправителяstormbpmn@company.com
smtpProtocolПротокол SMTP, возможные значения SMTP(без шифрования), STARTTLS, SMTPSSTARTTLS

Настройки шаблонов ListMonk

Используйте в шаблоне выражение {{ .Tx.Data.storm_placeholder }}, где storm_placeholder - это название подстановки из таблицы.

Пример

Выражение {{ .Tx.Data.diagram_name }} отобразит в письме название диаграммы.

ПараметрТип уведомленияПодстановки
commentEmailTemplateIdНовый комментарийcomment_author, diagram_name, diagram_url, html_text
approvalTemplateIdЗапрос на согласованиеinvite_author, diagram_name, diagram_url
restorePasswordTemplateIdВосстановление пароляrestoreCode
approvalCompletedTemplateIdСогласование завершеноdiagram_name, diagram_url
userActivationTemplateIdАктивация пользователяactivation_token
secureUpdateTemplateIdПриглашение к диаграммеinvite_author, diagram_name, diagram_url
inviteDiagramAndRegisterTemplateIdПриглашение + регистрацияinvite_author, diagram_name, diagram_url, register_url
teamInviteTemplateIdПриглашение в командуinvite_author, team_name
teamInviteAndRegisterTemplateIdПриглашение в команду + регистрацияinvite_author, team_name, register_url

Дополнительные настройки

Для сложных сетевых конфигураций

ПараметрОписаниеПример значения
gotenbergOverrideBaseUrlПрямой адрес для обхода балансировщиковhttp://corp.storm.internal

Порядок конфигурации

1. Настройка ENV переменных

  1. Обязательные параметры для запуска:

    JDBC_URL=jdbc:postgresql://db:5432/stormbpmn
    JDBC_USERNAME=stormbpmn_user
    JDBC_PASSWORD=secure_password
    JAVA_OPTS="-Xmx8g"
    SPRING_PROFILES_ACTIVE=prod
    JWTSECRET=your-secret-key-here
    LICENSE_KEY=your-license-key
    
  2. Дополнительные сервисы (по необходимости):

    # S3-хранилище
    MINIO_ENDPOINT=http://minio:9000
    MINIO_ACCESSKEY=stormbpmn-user
    MINIO_SECRETKEY=secure-password
    
    # Почта
    EMAIL_PROVIDER=listmonk
    LISTMONK_BASE_URL=http://listmonk:9000/api
    LISTMONK_USERNAME=stormbpmn
    LISTMONK_PASSWORD=api-token
    
    # Redis (для совместного редактирования, обязателен при multi-instance)
    REDIS_ENABLED=true
    REDIS_HOST=redis
    REDIS_PORT=6379
    REDIS_PASSWORD=your-password
    
  3. Перезапустите контейнер для применения изменений

2. Настройка через админку

  1. Войдите в административную панель: /app/admin
  2. Настройте базовые параметры:
    • baseUrl - обязательно для корректных ссылок
    • Политики команд и пользователей
  3. Настройте интеграции:
    • Шаблоны писем (для ListMonk)
    • SMTP параметры (для простой почты)
  4. Сохраните изменения - применяются мгновенно

Проверка конфигурации

Проверочный список

Распространенные проблемы

ПроблемаПричинаРешение
Приложение не запускаетсяНеверные JDBC параметрыПроверьте подключение к БД
Нет миниатюр диаграммНеверные MINIO параметрыПроверьте доступность S3
Не приходят письмаНеверные почтовые настройкиПроверьте EMAIL_PROVIDER и параметры
Ошибки лицензииНеверный LICENSE_KEYОбратитесь к менеджеру
Не скачивается PDFНенастроен GotenbergПроверьте GOTENBERG_URL и доступность сервиса
Нет совместного редактированияREDIS_ENABLED=false или Redis недоступенПроверьте REDIS_ENABLED, REDIS_HOST и подключение

Связанная документация

Нужна помощь?

Если возникли вопросы по конфигурации, обратитесь к help@stormbpmn.com или вашему менеджеру.

Видимость настроек для неавторизованных пользователей

В административной панели у каждой настройки есть тумблер «Настройка видимости» — он разрешает передачу значения на фронтенд до входа пользователя (экран логина, страница лицензии).

С версии 6.6.6668 правила ужесточены

Раньше настройка с непроставленной видимостью могла попадать в анонимную выдачу. Теперь неавторизованному пользователю отдаются только настройки с явно включённой видимостью. После обновления проверьте, что тумблер включён у настроек, которые влияют на экран входа:

  • showBasicLogin, showCustomLoginButtonName, CustomLoginButtonName
  • enableYandexSSO
  • showRegistraton
  • customMenuItems
  • licensePageHtml

Если после обновления форма логина «пропала» — откройте страницу входа с параметром ?showBasicLogin=true и включите видимость нужных настроек в админке.

Секреты не отдаются анониму даже с включённой видимостью

Настройки, в имени которых есть подстроки secret, token, password, passwd, private, credential, apikey, api_key, smtp, prompt, ldap, исключаются из анонимной выдачи всегда — это защита от случайной утечки. Обратная сторона: не используйте эти слова в именах собственных настроек, которые должны быть видны до входа. И по-прежнему не включайте видимость для паролей и конфиденциальных данных.