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

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

Около 4 мин

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

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

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

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

  1. Разверните PostgreSQL (версия 12 или новее):

    • Используйте 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Соль для шифрования паролейНе менее 32 случайных символов
TZТаймзона контейнераEurope/Moscow

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

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

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

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

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

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

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

Для продолжения настройки необходим лицензионный ключ:

  1. Создайте HAR-архив:

    • Откройте браузер и перейдите в приложение по IP
    • Создайте HAR-архив из инструментов разработчика от момента загрузки страницы
  2. Отправьте архив менеджеру:

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

    • LICENSE_KEY - ваш лицензионный ключ

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

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

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

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

  1. Первоначальная регистрация:

    • Откройте приложение в браузере
    • Зарегистрируйтесь с логином и паролем
    • Выполните вход в систему
  2. Создание команды:

    • Перейдите по ссылке: /app/team-settings/general
    • Создайте новую команду
  3. Активация административных прав:

    • Выполните в базе данных следующий запрос:
    UPDATE sm_teams SET full_access = true;
    

    На старте в таблице одна команда, поэтому WHERE не нужен. Все участники этой команды получат права администратора Storm.

  4. Завершение настройки:

    • Перезайдите в систему для применения изменений
    • Теперь у вас есть доступ к административному интерфейсу

Важно

Не используйте эту учётную запись для повседневной работы!
Не добавляйте рядовых сотрудников в административную команду. Эта команда предназначена только для настройки и администрирования 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 конфигурацию до подключения реальных пользователей. Миграция работающей системы значительно сложнее первоначальной настройки.