Ручная установка
Ручная установка
Для минимальной работы приложения вам потребуется всего 2 контейнера:
- Контейнер приложения
- База данных
Настройка базы данных
Разверните PostgreSQL (версия 14 или новее, рекомендуем 16–17):
- Используйте Docker контейнер
- Или подключитесь к существующей инфраструктуре компании
Создайте схему (опционально):
- По умолчанию используется схема
public - Сохраните название схемы для дальнейшей настройки
- По умолчанию используется схема
Создайте базу данных:
- Выберите подходящее название
- Сохраните название базы
Создайте пользователя:
- Предоставьте полные права доступа к базе и схеме
- Сохраните логин и пароль
Определите порт:
- Узнайте порт сервера БД (обычно 5432)
- Сохраните значение для подключения
Обеспечьте сетевую доступность:
- Настройте соединение между базой данных и контейнером приложения
Расширения PostgreSQL и кодировка — обязательно
База должна быть создана в кодировке UTF8, а в сборке PostgreSQL должны быть доступны расширения: pgvector (vector), pg_trgm, pgcrypto, uuid-ossp, hstore.
vector,uuid-ossp,hstore,pgcryptoприложение создаёт само при первом запуске (если пакеты установлены и у пользователя БД есть правоCREATE EXTENSION).pg_trgmсоздайте вручную — без него поиск пользователей по части имени/почты работать не будет.
Стандартный образ postgres:17 не содержит pgvector. Используйте образ pgvector/pgvector:pg17 (тот же PostgreSQL + pgvector + стандартные contrib-модули) или установите pgvector в свою сборку/DBaaS. Если Docker Hub закрыт — берите образ из нашего реестра: cr.selcloud.ru/stormbpmn-enterprise/pgvector:pg17 (подписан той же Cosign-подписью, доступен по тем же кредам Selectel).
Полный набор одной командой — выполнить от суперпользователя в базе приложения:
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS hstore;
Подробнее — в разделе «Требования к PostgreSQL».
Настройка приложения через переменные окружения
Получение образа
Скачайте образ приложения из репозитория (запросите ссылку и параметры авторизации у нашей команды).
Перенос образа в приватный репозиторий
В некоторых организациях запрещено использовать внешние хранилища контейнеров, значит нужно переложить образ из нашего хранилище в хранилище организации.
Шаги
Убедиться, что:
- есть права администратора
- компьютер имеет доступ в интернет
- есть сетевой доступ к локальному registry
Установить Docker Desktop для Windows: https://docs.docker.com/desktop/setup/install/windows-install/
Открыть cmd или PowerShell.
Авторизоваться в нашем Docker Registry:
docker login cr.selcloud.ru
(ввести логин и пароль, выданные ранее)
- Скачать образ:
docker pull cr.selcloud.ru/stormbpmn-enterprise/stormbpmn_fullstack_enterprise:6.6.1879
- Авторизоваться в приватном registry КБ (например, Harbor):
docker login <адрес_вашего_registry>
(ввести логин и пароль, которые предоставили КБ)
- Сделать ретег образа под их registry:
docker tag cr.selcloud.ru/stormbpmn-enterprise/stormbpmn_fullstack_enterprise:6.6.1879 <адрес_вашего_registry>/<проект>/stormbpmn_fullstack_enterprise:6.6.1879
- Загрузить образ в приватный registry:
docker push <адрес_вашего_registry>/<проект>/stormbpmn_fullstack_enterprise:6.6.1879
- Проверить, что образ появился в интерфейсе Harbor.
Gotenberg тоже можно взять из нашего реестра
Если внешние реестры (Docker Hub) закрыты, не обязательно тянуть gotenberg/gotenberg:8 извне — мы зеркалим официальный образ Gotenberg в наш приватный реестр и подписываем его той же подписью Cosign, что и основной образ StormBPMN. Он доступен по тем же учётным данным cr.selcloud.ru:
docker pull cr.selcloud.ru/stormbpmn-enterprise/gotenberg:8
Дальше — перетегируйте и загрузите в свой корпоративный реестр теми же шагами 5–8, что и для основного образа. Проверка подписи — так же, как у основного образа (см. Changelog → «Проверка подписи образа (Cosign)»).
Настройка ENV переменных
| Переменная | Описание | Пример значения |
|---|---|---|
| JDBC_URL | Строка подключения к базе данных | jdbc:postgresql://192.168.0.6:5432/storm |
| JDBC_USERNAME | Имя пользователя базы данных | stormuser |
| JDBC_PASSWORD | Пароль пользователя | your_secure_password |
| JAVA_OPTS | Настройки памяти для JVM | "-Xmx8g" |
| SPRING_PROFILES_ACTIVE | Профиль Spring Boot | prod |
| JWTSECRET | Соль для шифрования паролей | Не менее 64 случайных символов |
| TZ | Таймзона контейнера | Europe/Moscow |
Примечание по JDBC_URL:
Для подключения к определенной схеме используйте:
jdbc:postgresql://localhost:5432/mydatabase?currentSchema=myschema
Запуск контейнера
- Запустите контейнер с настроенными переменными окружения
- При успешном запуске миграции базы данных выполнятся автоматически
- Настройте порты для доступа к приложению: 8080 (старый интерфейс), 8081 (новый интерфейс) и 8082 (API)
Поздравляем!
Минимальная установка готова! Теперь вы можете получить доступ к приложению через веб-интерфейс по настроенному порту.
Получение лицензионного ключа
Для новой Enterprise-инсталляции используйте отдельный ключ v2. Существующий LICENSE_KEY временно поддерживается без немедленной замены, но лицензии v1 устарели и имеют известное ограничение безопасности.
Используйте согласованный с менеджером образ с поддержкой v2. До активации не открывайте установку обычным пользователям: пустой v2 выбирает legacy-путь, а отсутствие обоих ключей не гарантирует блокировку доступа.
- Откройте
/admin-onboardingбез входа при первой установке и скопируйте весь код активации без сокращения. - Передайте полный код менеджеру и получите ключ для этой инсталляции.
- Добавьте ключ в переменную окружения
LICENSE_KEY_V2. Если рядом заданLICENSE_KEY, непустойLICENSE_KEY_V2имеет исключительный приоритет; при ошибке v2 возврата на v1 нет. - Перезапустите контейнер, дождитесь успешных health checks, проверьте статус лицензии на
/admin-onboarding. Затем создайте администратора по инструкции ниже, настройте пользователей и проверьте вход и нужные модули (включая DES) обычной учётной записью.
Для тестового контура, DR-площадки и каждого клона запросите отдельный ключ. Согласуйте в ключе права AI и DES — в v2 они по умолчанию выключены; подробнее в разделе о формате v2.
Уже работающая инсталляция
Если Storm уже установлен и работает с LICENSE_KEY, код активации берётся на той же странице /admin-onboarding без входа и без запуска мастера. Порядок перевода на v2 — в разделе «Где взять код активации на существующей инсталляции».
Создание административной учётной записи
Права администратора Storm выдаются команде, а не отдельному пользователю. Каждый участник команды с правом администрирования автоматически получает доступ к настройкам системы.
Создайте отдельную административную команду — только для тех, кому необходимо настраивать и администрировать Storm. В ней должно быть 1–2 учётных записи.
Пошаговая инструкция:
- После успешной активации лицензии откройте
/admin-onboardingи начните настройку. - На шаге «Администратор» укажите email и пароль первого администратора. Мастер создаст учётную запись и отдельную административную команду с полными правами.
- Сохраните учётные данные в защищённом хранилище и завершите остальные шаги мастера.
Если административная команда уже существует, войдите под её участником. Повторное создание первого администратора не допускается. При неверном v2 сначала восстановите лицензию: создание администратора на заблокированной инсталляции недоступно. Не назначайте права всем командам массовым SQL-обновлением.
Важно
Не используйте эту учётную запись для повседневной работы!
Не добавляйте рядовых сотрудников в административную команду. Эта команда предназначена только для настройки и администрирования Storm. Все остальные сотрудники должны работать в отдельной рабочей команде без права администрирования — как её создать, описано ниже.

Создание рабочей команды для сотрудников
Для повседневной работы сотрудников необходима отдельная команда. У новой команды нет права администрирования Storm по умолчанию — дополнительных действий в базе данных не требуется.
| Команда | Кто входит | Для чего |
|---|---|---|
| Административная | Сисадмины, ответственные за Storm | Настройка, лицензии, управление системой |
| Рабочая | Все остальные сотрудники | Ежедневная работа с диаграммами |
Чтобы создать рабочую команду:
- Выйдите из административной учётной записи или откройте браузер в режиме инкогнито
- Зайдите по адресу /app/signup и зарегистрируйте новую учётную запись
- После регистрации система автоматически создаст новую команду без права администрирования
- Пригласите сотрудников в эту команду через Настройки команды → Участники или через административный интерфейс
Управление правами администратора Storm
Выдача и отзыв прав выполняются сисадмином через SQL. Когда в системе несколько команд, обязательно указывайте WHERE id — иначе запрос затронет все команды.
Выдать права:
UPDATE sm_teams SET full_access = true WHERE id = '<id команды>';
Отозвать права:
UPDATE sm_teams SET full_access = false WHERE id = '<id команды>';
Настройка авторизации
Для настройки системы входа в приложение ознакомьтесь с подробной инструкцией по обеспечению информационной безопасности и выберите подходящий вариант для вашей организации.
Важно: Следующие шаги
Эта установка только для тестирования!
Внимание! Описанная выше минимальная установка предназначена исключительно для проверки работоспособности и знакомства с системой.
НЕ используйте эту конфигурацию для работы с реальными пользователями!
Почему эта установка не подходит для продакшена:
- Отсутствует SSL/HTTPS - данные передаются в открытом виде
- База данных не защищена - нет резервного копирования и отказоустойчивости
- Нет мониторинга - невозможно отследить проблемы и производительность
- Упрощенная авторизация - нет интеграции с корпоративными системами
- Нет уведомлений - пользователи не получат письма о процессах
- Нет хранилища файлов - ограниченные возможности работы с документами
Что произойдет, если не настроить production-ready:
- Пользователи будут недовольны медленной работой и ошибками
- Потеря данных при сбоях системы
- Проблемы с безопасностью и утечка конфиденциальной информации
- Невозможность масштабирования при росте количества пользователей
Следующие шаги для продакшена:
- Production Ready - настройка для промышленной эксплуатации
- Безопасность - настройка HTTPS, авторизации и аудита
- Администрирование системы - контроль производительности и доступности, защита от потери данных
Совет
Планируйте переход на production-ready конфигурацию до подключения реальных пользователей. Миграция работающей системы значительно сложнее первоначальной настройки.