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

Ручная установка

Около 5 мин

Ручная установка

Для минимальной работы приложения вам потребуется всего 2 контейнера:

  • Контейнер приложения
  • База данных

Настройка базы данных

  1. Разверните PostgreSQL (версия 14 или новее, рекомендуем 16–17):

    • Используйте Docker контейнер
    • Или подключитесь к существующей инфраструктуре компании
  2. Создайте схему (опционально):

    • По умолчанию используется схема public
    • Сохраните название схемы для дальнейшей настройки
  3. Создайте базу данных:

    • Выберите подходящее название
    • Сохраните название базы
  4. Создайте пользователя:

    • Предоставьте полные права доступа к базе и схеме
    • Сохраните логин и пароль
  5. Определите порт:

    • Узнайте порт сервера БД (обычно 5432)
    • Сохраните значение для подключения
  6. Обеспечьте сетевую доступность:

    • Настройте соединение между базой данных и контейнером приложения

Расширения 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».

Настройка приложения через переменные окружения

Получение образа

Скачайте образ приложения из репозитория (запросите ссылку и параметры авторизации у нашей команды).

Перенос образа в приватный репозиторий

В некоторых организациях запрещено использовать внешние хранилища контейнеров, значит нужно переложить образ из нашего хранилище в хранилище организации.

Шаги

  1. Убедиться, что:

    • есть права администратора
    • компьютер имеет доступ в интернет
    • есть сетевой доступ к локальному registry
  2. Установить Docker Desktop для Windows: https://docs.docker.com/desktop/setup/install/windows-install/

  3. Открыть cmd или PowerShell.

  4. Авторизоваться в нашем Docker Registry:

docker login cr.selcloud.ru

(ввести логин и пароль, выданные ранее)

  1. Скачать образ:
docker pull cr.selcloud.ru/stormbpmn-enterprise/stormbpmn_fullstack_enterprise:6.6.1879
  1. Авторизоваться в приватном registry КБ (например, Harbor):
docker login <адрес_вашего_registry>

(ввести логин и пароль, которые предоставили КБ)

  1. Сделать ретег образа под их registry:
docker tag cr.selcloud.ru/stormbpmn-enterprise/stormbpmn_fullstack_enterprise:6.6.1879 <адрес_вашего_registry>/<проект>/stormbpmn_fullstack_enterprise:6.6.1879
  1. Загрузить образ в приватный registry:
docker push <адрес_вашего_registry>/<проект>/stormbpmn_fullstack_enterprise:6.6.1879
  1. Проверить, что образ появился в интерфейсе 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 Bootprod
JWTSECRETСоль для шифрования паролейНе менее 64 случайных символов
TZТаймзона контейнераEurope/Moscow

Примечание по JDBC_URL:

Для подключения к определенной схеме используйте: jdbc:postgresql://localhost:5432/mydatabase?currentSchema=myschema

Запуск контейнера

  1. Запустите контейнер с настроенными переменными окружения
  2. При успешном запуске миграции базы данных выполнятся автоматически
  3. Настройте порты для доступа к приложению: 8080 (старый интерфейс), 8081 (новый интерфейс) и 8082 (API)

Поздравляем!

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

Получение лицензионного ключа

Для новой Enterprise-инсталляции используйте отдельный ключ v2. Существующий LICENSE_KEY временно поддерживается без немедленной замены, но лицензии v1 устарели и имеют известное ограничение безопасности.

Используйте согласованный с менеджером образ с поддержкой v2. До активации не открывайте установку обычным пользователям: пустой v2 выбирает legacy-путь, а отсутствие обоих ключей не гарантирует блокировку доступа.

  1. Откройте /admin-onboarding без входа при первой установке и скопируйте весь код активации без сокращения.
  2. Передайте полный код менеджеру и получите ключ для этой инсталляции.
  3. Добавьте ключ в переменную окружения LICENSE_KEY_V2. Если рядом задан LICENSE_KEY, непустой LICENSE_KEY_V2 имеет исключительный приоритет; при ошибке v2 возврата на v1 нет.
  4. Перезапустите контейнер, дождитесь успешных health checks, проверьте статус лицензии на /admin-onboarding. Затем создайте администратора по инструкции ниже, настройте пользователей и проверьте вход и нужные модули (включая DES) обычной учётной записью.

Для тестового контура, DR-площадки и каждого клона запросите отдельный ключ. Согласуйте в ключе права AI и DES — в v2 они по умолчанию выключены; подробнее в разделе о формате v2.

Уже работающая инсталляция

Если Storm уже установлен и работает с LICENSE_KEY, код активации берётся на той же странице /admin-onboarding без входа и без запуска мастера. Порядок перевода на v2 — в разделе «Где взять код активации на существующей инсталляции».

Создание административной учётной записи

Права администратора Storm выдаются команде, а не отдельному пользователю. Каждый участник команды с правом администрирования автоматически получает доступ к настройкам системы.

Создайте отдельную административную команду — только для тех, кому необходимо настраивать и администрировать Storm. В ней должно быть 1–2 учётных записи.

Пошаговая инструкция:

  1. После успешной активации лицензии откройте /admin-onboarding и начните настройку.
  2. На шаге «Администратор» укажите email и пароль первого администратора. Мастер создаст учётную запись и отдельную административную команду с полными правами.
  3. Сохраните учётные данные в защищённом хранилище и завершите остальные шаги мастера.

Если административная команда уже существует, войдите под её участником. Повторное создание первого администратора не допускается. При неверном 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:

  • Пользователи будут недовольны медленной работой и ошибками
  • Потеря данных при сбоях системы
  • Проблемы с безопасностью и утечка конфиденциальной информации
  • Невозможность масштабирования при росте количества пользователей

Следующие шаги для продакшена:

  1. Production Ready - настройка для промышленной эксплуатации
  2. Безопасность - настройка HTTPS, авторизации и аудита
  3. Администрирование системы - контроль производительности и доступности, защита от потери данных

Совет

Планируйте переход на production-ready конфигурацию до подключения реальных пользователей. Миграция работающей системы значительно сложнее первоначальной настройки.