/
seafteam
/
seaf-archtool-core
Обзор
Документация
Войти
/
seafteam
/
seaf-archtool-core
Код
Запросы
9
Задачи
Пакеты
2
Релизы
21
Аналитика
java-back
example.env
599 строк
41 KB
Temnyakov Nikolay
Запрос на слияние 'fix/ERA-2550' (
#588
) из fix/ERA-2550 в dev
10 июн 2026, 09:13
Верифицирован
10 июн 2026, 09:13
5e7c606
Код
Авторство
О чём код?
# *********************************************************** # Режимы сборки и развертывания # *********************************************************** # DocHub может работать в трех режимах: # (F) frontend - "Толстый" клиент. Вся бизнес-логика находится на стороне фронта. # (FB) frontend + backend - "Тонкий" клиент. Бизнес-логика в основном находится на стороне backend. # (P) IDEA Plugin - Плагин для IDEA. Бизнес-логика в основном находится на стороне плагина. # # *********************************************************** # Переменные среды # *********************************************************** # (B) Заголовок который подтягивается в хедере (По умолчанию - SEAF) # VUE_APP_DOCHUB_TITLE = SEAF # # (F / FB) URI в формате DocHub корневого манифеста (обязательно) # VUE_APP_DOCHUB_ROOT_MANIFEST = workspace/sberauto/root.yaml # Варианты использования: # documentation/root.yaml - (F / FB) Относительная ссылка на файл расположенный в папке @/public/ # https://dochub.info/documentation/root.yaml - (F / FB) прямая ссылка на внешний http/https ресурс # gitlab:34:main@root.yaml - Прямая ссылка на на файл в GitLab репозитории. # (F) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # (FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # Структура ссылки: # gitlab - протокол GitLab # 34 - идентификатор репозитория # main - бранч # root.yaml - путь к файлу # # file://root.yaml - (FB) Прямая ссылка на файл в хранилище VUE_APP_DOCHUB_BACKEND_FILE_STORAGE. # Если VUE_APP_DOCHUB_BACKEND_FILE_STORAGE не задан, то ./public/* # bitbucket:myproject:myrepo:mybranch@dochub.yaml Прямая ссылка на на файл в BitBucket репозитории. # (F/FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # (F / FB) Идентификатор документа главной страницы (необязательно). По умолчанию dochub_welcome # VUE_APP_DOCHUB_ROOT_DOCUMENT=dochub_welcome # (F / FB) URL GitLab (необязательно) # VUE_APP_DOCHUB_GITLAB_URL=https://foo.space # с base url слеш на конце обязателен # VUE_APP_DOCHUB_GITLAB_URL=https://foo.space/baseurl/ # (F / FB) URL BitBucket (необязательно) # VUE_APP_DOCHUB_BITBUCKET_URL=https://foo.space # с base url слеш на конце обязателен # VUE_APP_DOCHUB_BITBUCKET_URL=https://foo.space/baseurl/ # при общении с BitBucket по-умолчанию будут установлены ограничения на исходящие соединения и введены повторы запросов при ошибках. # Так же их можно задать явно: # VUE_APP_DOCHUB_MAX_REQUEST_REPEAT_ATTEMPTS=3 # VUE_APP_DOCHUB_MAX_HTTP_SOCKETS=100 # (F/FB) Режим работы с битбакетом (доступные значения: v1, v2, adapter) - чтение # VUE_APP_DOCHUB_BITBUCKET_MODE=adapter # (B) Режим работы с битбакетом (доступные значения: v1, v2) - используется для записи данных в битбакет # Если не указан - используется VUE_APP_DOCHUB_BITBUCKET_MODE # VUE_APP_DOCHUB_BITBUCKET_WRITE_MODE=v1 # (FB) для режима адаптера необходимо дополнительно установить переменную # VUE_APP_DOCHUB_BITBUCKET_ADAPTER_URL=http://localhost:8082 # (F / FB) Персональный токен gitlab/bitbucket. Используется для развертывания в backend режиме и для локальной разработки (npm run serve) # VUE_APP_DOCHUB_PERSONAL_TOKEN=9H...FR # (FB) Secret для доступа к перезагрузке данных архитектуры # VUE_APP_DOCHUB_RELOAD_SECRET=9H...FR # (F / FB) Сервер рендеринга PlantUML (По умолчанию seaf.slsdev.ru/seafplantuml/svg/) # При сборке через docker-compose по умолчанию localhost:8079/svg/ # # Для использования единого образа и избежания проблем с CORS можно использовать VUE_APP_PLANTUML_SERVER=ORIGIN, # в этом случае запросы на plantuml будут отправляться на базовый урл с относительным /plantuml/svg/ # (например, если портал открывается по адресу https://myseaf.ru, то запросы на плант адресуются на https://myseaf.ru/plantuml/svg/) # далее маршрутизацию запросов необходимо осуществить на прокси # # VUE_APP_PLANTUML_SERVER=localhost:8079/svg/ # (F / FB) Метод запроса к серверу рендеринга PlantUML (По умолчанию GET) # POST - в теле запрос в формате plantuml как есть # POST_COMPRESSED - аналогично GET сжат zopfli, но не перекодирован в base64 # VUE_APP_PLANTUML_REQUEST_TYPE= GET | POST | POST_COMPRESSED # (P) Если "plugin" сборка осуществляется для использования в IDEA плагине https://github.com/RabotaRu/DocHubIdeaPlugin # Для production сборки используйте npm run plugin. # Данный параметр удобен для разработки в режиме плагина, т.к. подключает моки $PAPI. # VUE_APP_DOCHUB_MODE=plugin # (PBF) Отключает "hot reload" в DEV режиме # VUE_APP_DOCHUB_HOTRELOAD=off # (BF) Если "backend" сборка осуществляется для работы с backend # Данный параметр удобен для разработки в режиме backend. # VUE_APP_DOCHUB_MODE=backend # (F/BF) Определяет тип кэширования при сборке webpack # memory - по умолчанию. Кэширование ведется в памяти. Оптимизирует только текущую сборку. # filesystem - Кэширование ведется в файловой системе. Оптимизирует текущую и последующие сборки. Радикальный эффект заметен на последующих сборках. # VUE_APP_DOCHUB_BUILDING_CACHE= memory / filesystem # (BF) Определяет принцип кэширования ответов к Data Lake через backend # none - не кэшируется (по умолчанию) # redis (БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ) # postgres - для кеширования используется СУБД PostgreSQL # Конфигурация подключения задается в переменной VUE_APP_DOCHUB_POSTGRES_URL # memory - кеширование в памяти. При перезагрузке буде очищаться. # # Иное значение рассматривается как относительный путь к папке кеширования. Папка должна существовать! # В этом случае результат запроса будет сохраняться в файле. При перезагрузке кэш будет сохраняться. # Для его очистки необходимо самостоятельно очистить папку с кэшем. # Пример пути: # VUE_APP_DOCHUB_DATALAKE_CACHE=cache/ # (B) Ограничение на размер строки, которая будет сохранена в кеш. Может использоваться как предохранитель или предупреждение # Например можно установить его в 100_000 символов. Тогда все длинна которых больше указанного размера. # При указании значения можно использовать нижнее подчеркивание как делитель разрядов # будут подсвечены в ошибках и владелец продукта или администратор смогут принять решение, нужна правка расчета или увеличение лимита # Если не указать значение, тогда как дефолт будет взято значение Number.MAX_SAFE_INTEGER (9007199254740991) # Указание отрицательных значений или нуля приведет к срабатыванию ограничителя для любой строки # Работает для режима кеширования postgres, не проверяется для остальных # VUE_APP_DOCHUB_MAX_CACHE_LINE_LENGTH=10_000_000 # (F / FB) Если "y" подключает в описание документацию DocHub # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS= y / n # (F / FB) Содержит ссылку на базовую метамодель. По умолчанию - /metamodel/root.yaml # VUE_APP_DOCHUB_METAMODEL = /metamodel/root.yaml # (F / FB / P) (УСТАРЕЛО с версии 3.0.2) Определяет движок рендеринга (graphviz | smetana | elk). По умолчанию ELK # VUE_APP_DOCHUB_RENDER_CORE=ELK # С версии v3.0.2 конфигурирование осуществляется через параметры сущности "contexts" см. документацию # (F / FB) [КЭШ] Включить/отключить кэширование(NONE | HEAD | GET) - По умолчанию NONE # VUE_APP_DOCHUB_CACHE=NONE # (F / FB) [УРОВЕНЬ кэширования] (1 | 2) - По умолчанию 1 # 1 - [low level] кэш сетевых запросов(requests) # 2 - [high level] full кэш(уровень 1 + манифест) # VUE_APP_DOCHUB_CACHE_LEVEL=1 # (FB) Управление заголовками etag - По-умолчанию ON # ON - etag включен для статики и API # OFF - etag выключен для статики и API # STATIC - etag включен только для статики # API - etag включен только для API # VUE_APP_DOCHUB_ETAG=ON | OFF | STATIC | API # (F) Анализатор запросов JSONata # Выводит информацию о выполняемых запросах в консоль/лог. # Если включен в режиме бекенда вместе с логированием в файл, то размер лога будет рости очень быстро! # VUE_APP_DOCHUB_JSONATA_ANALYZER= y / n # (FB) Режим backend # Если установлено, считается, что DocHub функционирует в режиме frontend + backend. # По умолчанию DocHub функционирует в режиме "толстый клиент" (F). Т.е. вся бизнес-логика реализуется в frontend. # VUE_APP_DOCHUB_BACKEND_URL= http://localhost:3030 # (FB) Порт для backend сервера. По умолчанию 3030. # VUE_APP_DOCHUB_BACKEND_PORT=3030 # (FB) Каталог, где размещаются файлы манифестов # По умолчанию @/public/ # ВНИМАНИЕ! Размещение файлов в @/public/ будет приводить к их прямой доступности из фронта по URL. # VUE_APP_DOCHUB_BACKEND_FILE_STORAGE=~/DocHub/storage # (FB) Количество попыток и таймаут между попытками при ошибке загрузки источника при импорте манифеста # По умолчанию 3 и 1000 мс, соответственно. # VUE_APP_DOCHUB_IMPORT_RETRY_COUNT=3 # VUE_APP_DOCHUB_IMPORT_RETRY_TIMEOUT=1000 # (F / FB) Источник кода SmartAnts # По умолчанию /src/assets/libs/smartants.cjs # VUE_APP_DOCHUB_SMART_ANTS_SOURCE=/src/hidden/smartants.cjs # (FB) Режим работы SmartAnts # front - в браузере пользователя как веб-воркер. Режим по-умолчанию. # thread - на бекенде как воркер-тред. # service - отдельным экземпляром ноды. # VUE_APP_DOCHUB_SMART_ANTS_MODE=thread # (B) Адрес хоста SmartAnts # Для работы SmartAnts в режиме service. По умолчанию http://127.0.0.1 # VUE_APP_DOCHUB_SMART_ANTS_ADDRESS=http://smartants.example.com # (B) Путь до эндпойнта SmartAnts # Для работы SmartAnts в режиме service. По умолчанию smartants/ # VUE_APP_DOCHUB_SMART_ANTS_PATH=smartants-service/ # (B) Порт SmartAnts # Для работы SmartAnts в режиме service. По умолчанию 3040. # VUE_APP_DOCHUB_SMART_ANTS_PORT=2050 # (B) Количество воркер-тредов SmartAnts # Для работы в режимах thread/service. По умолчанию: количество процессоров минус два, но не меньше одного. # VUE_APP_DOCHUB_SMART_ANTS_MAX_THREADS=22 # (B) Таймаут воркер-треда SmartAnts в мс # Для работы в режимах thread/service. По умолчанию 50000. # Если воркер не может отрисовать схему до истечения таймаута, его работа будет прекращена и сервер вернёт ошибку. # VUE_APP_DOCHUB_SMART_ANTS_WORKER_TIMEOUT=10000 # (B) Callback URL уведомления о наличии ошибок при загрузке манифестов # В случае наличия ошибок при загрузке манифестов URL будет вызван методом GET # VUE_APP_DOCHUB_BACKEND_EVENT_LOADING_ERRORS_FOUND=http://foo.local/error # (B) Интеграция с СУБД Redis (https://redis.io/) (БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ) # (B) Интеграция с СУБД PostgreSQL # VUE_APP_DOCHUB_POSTGRES_URL=postgresql://[[username][:password]@[host][:port][/db] # PostgreSQL применяется для кэширования результатов запросов на стороне backend, а также для создания кластера DocHub. # VUE_APP_POSTGRES_POOL_SIZE=50 # VUE_APP_POSTGRES_IDLE_TIMEOUT_SECONDS=300 # VUE_APP_POSTGRES_CONNECTION_TIMEOUT_SECONDS=5 # VUE_APP_POSTGRES_ACQUIRE_TIMEOUT_SECONDS=180 # Настройки повторных запросов в postgreSql # Количество повторных запросов. Если указать 3, то будет отправлено 4 (1 запрос изначально и 3 повтора) # По дефолту 0 # VUE_APP_DOCHUB_POSTGRES_RETRY_COUNT=3 # Пауза в милисекундах между повторными запросами, если указать отрицательное значение, то будет пауза 0 # VUE_APP_DOCHUB_POSTGRES_PAUSE_BETWEEN_RETRY_MS=3000 # (B) Включение логирования работы с пулом соединений postgres. Может создавать много логов, пишет сообщение на каждое событие с пулом. # Пишет с уровнем debug, поэтому для отображения логов VUE_APP_DOCHUB_LOGGER_LEVEL должен быть на уровне debug или trace # VUE_APP_DOCHUB_LOG_POSTGRES_CONNECTION=Y # (B) Использование pg_try_advisory_xact_lock при записи в пг в кеше, по дефолту включено # Дает синхранизацию нескольких потоков/подов в режиме кластера, в режиме бекенда менее положен, но в тоже время безвреден # Поведение ленивое, т.к. пг используется как кеш, то если кто-то другой уже пишет в пг запись с этим ключом, # то мы просто сохраняем ее у себя в кеш без записи в пг (т.к. другой поток/под уже ее пишет) # VUE_APP_DOCHUB_POSTGRES_USE_LOCK_ON_SET=Y/N # (FB) Включение поддержки HTML тэгов в markdown документах # По умолчанию поддержка выключена (off). # VUE_APP_DOCHUB_MARKDOWN_HTML= on / off # (B) Путь к лог-файлу # Если не задан, логирование в файл вестись не будет # VUE_APP_DOCHUB_LOGGER_LOGFILE=src/hidden/log.log # (B) Путь к лог-файлу JSONata # Если не задан, логирование в файл вестись не будет # VUE_APP_DOCHUB_JSONATA_LOGFILE=src/hidden/jsonata.log # (FB) Включение логирования при выполнение jsonata (запись в лог результата функции $log) # По умолчанию поддержка включена (on). # VUE_APP_DOCHUB_JSONATA_LOG_FUNC_ENABLE= on / off # (B) Уровень логирования # Возможные уровни: # off - отключает логирование # error # warn # info - уровень по умолчанию # debug # trace # VUE_APP_DOCHUB_LOGGER_LEVEL=trace # (F/B) Подробное логирование загрузки датасетов и функции JSONata # Логирование датасетов использует общий лог-файл, # логирование JSONata использует лог-файл JSONata. # По умолчанию off # VUE_APP_DOCHUB_PERF_LOGGER_ENABLE=on # (B) Файл для записи профиля расхода ресурсов, временной интервал записи в мс # и возможность вывода профайлера в консоль. # Работает только при включенном VUE_APP_DOCHUB_PERF_LOGGER_ENABLE. # Интервал по умолчанию 20000 мс. # Вывод профайлера в консоль по умолчанию off. # VUE_APP_DOCHUB_PERF_LOGFILE=src/hidden/performance.log # VUE_APP_DOCHUB_PERF_INTERVAL=10000 # VUE_APP_DOCHUB_PERF_TO_CONSOLE=on # # (B) Ролевая модель v2 основанная на правах в root манифесте # Если "Y", то включается режим работы с ролевой моделью по root манифесту. # VUE_APP_DOCHUB_ROLES_MODEL_V2= Y / N # *********************************************************** # Пример конфигурирования ролевой модели # *********************************************************** # (B) Режим backend # Если "y", то включается режим работы с ролевой модель. # VUE_APP_DOCHUB_ROLES_MODEL= y / n # Указываем путь до манифеста с описанием ролей # Пример описания: # roles: # users: # - '^kadzo.v2023.data_objects*$' # - '^ecogroup.berezka.data_objects[a-zA-Z\._0-9]*$' # uek: # - '^kadzo\.v2023\.kb_systems[a-zA-Z\._0-9]*$' # - '^ecogroup.berezka.kb[a-zA-Z\._0-9]*$' # default: # - '^kadzo\.v2023\.data_objects*$' #VUE_APP_DOCHUB_ROLES=file:///workspace/sberauto/roles.yaml # Варианты использования: # documentation/roles.yaml - (F / FB) Относительная ссылка на файл расположенный в папке @/public/ # https://dochub.info/documentation/roles.yaml - (F / FB) прямая ссылка на внешний http/https ресурс # gitlab:34:main@roles.yaml - Прямая ссылка на на файл в GitLab репозитории. # (F) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # (FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # Структура ссылки: # gitlab - протокол GitLab # 34 - идентификатор репозитория # main - бранч # root.yaml - путь к файлу # # file://roles.yaml - (FB) Прямая ссылка на файл в хранилище VUE_APP_DOCHUB_BACKEND_FILE_STORAGE. # Если VUE_APP_DOCHUB_BACKEND_FILE_STORAGE не задан, то ./public/* # bitbucket:myproject:myrepo:mybranch@roles.yaml Прямая ссылка на на файл в BitBucket репозитории. # (F/FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN # Указываем путь до сервера аутентификации с указанием realms #VUE_APP_DOCHUB_AUTHORITY_SERVER=https://auth.slsdev.ru/realms/dochub # Указываем client id, например: dochub #VUE_APP_DOCHUB_AUTHORITY_CLIENT_ID={CLIENTID} # {PUBLIC KEY} - указываем public key, смотрим настройки keycloack #VUE_APP_DOCHUB_AUTH_PUBLIC_KEY=-----BEGIN PUBLIC KEY-----{PUBLIC KEY}-----END PUBLIC KEY----- # *********************************************************** # Примеры конфигурирования # *********************************************************** # (F)******** Портал с документацией DocHub ***************** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env - ПУСТО. # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит только документацию DocHub. # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # # # (F)******** Портал с собственной документацией ***************** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env: # VUE_APP_PLANTUML_SERVER=https://plantuml.local/svg/ # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит документацию DocHub # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть). # # # (F)* Портал с собственной документацией и без документации DocHub ** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env: # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # # # (F)* Портал с собственной документацией из GitLab без авторизации ** # Развертывание в режиме frontend (толстый клиент) # содержимое файла .env: # VUE_APP_DOCHUB_GITLAB_URL=https://gitlab.com/ # VUE_APP_DOCHUB_ROOT_MANIFEST=gitlab:43847396:master@root.yaml # VUE_APP_DOCHUB_PERSONAL_TOKEN=gl...4g # VUE_APP_PLANTUML_SERVER=https://plantuml.local/svg/ # Команда сборки: # npm run build # Результат: # - В папке ./dist будет сгенерированы статические файлы, которые нужно подключить к WEB серверу # - Войдя на портал, пользователь увидит документацию размещенную по в репозитории GitLab - gitlab:43847396:master@root.yaml # - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть). # # (FB)******** Портал с документацией DocHub и backend ***************** # Развертывание в режиме frontend + backend (тонкий клиент) # содержимое файла .env - ПУСТО # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущен nodejs сервер на порту 3030 (http://localhost:3030/), где будет поднят портал и backend сервер # - Войдя на портал, пользователь увидит только документацию DocHub. # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # # # (FB)* Портал с собственной документацией и backend, без документации DocHub** # Развертывание в режиме frontend + backend (тонкий клиент) # содержимое файла .env: # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущен nodejs сервер на порту 3030 (http://localhost:3030/), где будет поднят портал и backend сервер # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # # # (FB) Портал с собственной документацией и backend, без документации DocHub, с кешированием в Postgres # Развертывание в режиме frontend + backend (тонкий клиент) + Postgres # содержимое файла .env: # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # VUE_APP_DOCHUB_DATALAKE_CACHE=postgres # VUE_APP_DOCHUB_POSTGRES_URL=postgresql://[[username][:password]@[host][:port][/db] # # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущен nodejs сервер на порту 3030 (http://localhost:3030/), где будет поднят портал и backend сервер # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # - Результаты запросов будут кэшироваться в Postgres, что увеличит производительность # # # (FB) Портал с собственной документацией в кластере, без документации DocHub, с кешированием в Postgres # Развертывание в режиме frontend + backend (тонкий клиент) + Postgres + Cluster # Для работы кластера необходимо самостоятельно развернуть балансировщик запросов. # Например на nginx - https://nginx.org/ru/docs/http/ngx_http_upstream_module.html # Недоступная нода определяется по коду ответа - 503. # # Конфигурация идентична для всех нод. Содержимое файла .env: ## Доступ к ресурсам с манифестами должен быть у всех нод кластера # VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml # VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n # VUE_APP_DOCHUB_DATALAKE_CACHE=postgres # VUE_APP_DOCHUB_POSTGRES_URL=postgresql://[[username][:password]@[host][:port][/db] # VUE_APP_DOCHUB_CLUSTER=on # VUE_APP_DOCHUB_BACKEND_PORT=3030 ## Вызов бэкенда должен происходить через балансировщик, который перенаправляет запросы на действующую ноду. # VUE_APP_DOCHUB_BACKEND_URL=http://node-balancer:3030 # # Команда сборки: # npm run backend # Результат: # - Будет собран frontend проект в режиме backend # - Будет запущена нода кластера на порту 3030 (http://localhost:3030/), где будет поднят портал backend сервер # - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/* # - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента. # - Результаты запросов будут кэшироваться в Postgres, что увеличит производительность # - Запросы к backend будут направляться на балансировщик, который перенаправит их на действующую ноду # - Ноды backend будут работать в кластере, что увеличит надежность # # Больше информации о переменных среды выполнения # https://cli.vuejs.org/ru/guide/mode-and-env.html # (B) Добавляет API для мутации объекта манифеста # MANIFEST_MUTATION=y # (B) Вкл/выкл отслеживания изменения версии или хеша данных на беке. Если true тогда версия будет проверяться # периодически запросом и в случае изменения клиенту на ui будет показан баннер # true - включен (по дефолту) / false -выключен # VUE_APP_VERSION_CHECKER_ENABLE=y # (FBP) Настройки для аналитики sbol/clickstream обе выдаются командой clickstream # VUE_APP_CLICKSTREAM_REPORT_URL=http://localhost:3000 # VUE_APP_CLICKSTREAM_API_KEY=test123 # # (FBP) Настройки интеграции с GIGACHAT # Если используется плагин GIGACHAT, необходимо задать реквизиты доступа # VUE_APP_GIGACHAT_CREDENTIAL=********* # VUE_APP_GIGACHAT_SCOPE=GIGACHAT_API_PERS # При работе из банка необходимо задать URL авторизации # VUE_APP_GIGACHAT_AUTH_URL="https://sm-auth-sd.prom-88-89-apps.ocp-geo.ocp.sigma.sbrf.ru/api/v2/oauth" # Можно так же задать модель по умолчанию (можно переопределить потом в документе) # VUE_APP_GIGACHAT_DEFAULT_MODEL=GigaChat # Можно задать таймаут ожидания ответа модели # VUE_APP_GIGACHAT_TIMEOUT=600 # Включение счетчика токенов в чате (y/n, по умолчанию n) # VUE_APP_DOCHUB_LLM_COUNTER=n # Время жизни сессии с последнего сообщения в миллисекундах (по умолчанию 900000, т.е 900сек = 15 минут) # VUE_APP_DOCHUB_GIGACHAT_SESSION_TTL_MS=900000 # Максимальное количество сообщений в одном диалоге, при превышении удаляются старые сообщения, кроме системного промпта # Дает возможность управлять объемом данных в памяти или кеше (по умолчанию Number.MAX_SAFE_INTEGER = 9007199254740991) # VUE_APP_DOCHUB_GIGACHAT_MAX_MESSAGE_COUNT_IN_HISTORY=900000 # Максимальное количество символов во всем чате, при превышении удаляются старые сообщения, кроме системного промпта # Дает возможность управлять объемом данных в памяти или кеше (по умолчанию Number.MAX_SAFE_INTEGER = 9007199254740991) # VUE_APP_DOCHUB_GIGACHAT_MAX_SUM_SYMBOL_OF_ALL_MESSAGES=900000 # Лимиты на сообщение и на количество символов могут работать вместе. Сначала удаляем превышение по количеству соообщений # Потом проверяем лимит на количество символов # *********************************************************** # Конфигурация для получения информации о пользователе # *********************************************************** # Важно! Примеры показанные ниже нужно описывать в одной строке, т.к в .env файле нельзя описывать json объекты многострочно. # VUE_APP_DOCHUB_AUTH_USER_CONFIG=[{"iss":"http://iss1.com","surname":"last_name","name":"first_name","roles":"groups","userId":"sberpdi"}] # Для отображения данных о пользователе в личном кабинете необходимо настроить конфигурацию для подключенного провайдера (провайдеров). # Настройка конфигурации происходит через 2 переменные - VUE_APP_DOCHUB_AUTH_USER_CONFIG и VUE_APP_DOCHUB_ROLES_CONFIG # Переменная VUE_APP_DOCHUB_AUTH_USER_CONFIG это маппинг, который сопостовляет базовые поля персональных данных пользователя между нашей системой # и внешним провайдером. Она используется для корректного извлечения информации от внешнего источника и приведения ее к внутреннему формату. # VUE_APP_DOCHUB_AUTH_USER_CONFIG должна содержать JSON строку - массив объектов с информацией о путях к персональным данным пользователя в payload ID токена. # Пример заполненного значения для двух провайдеров # VUE_APP_DOCHUB_AUTH_USER_CONFIG=[ # { # "iss":"http://iss1.com", // Название (поля с перс данными - корневые элементы) # "surname":"last_name", // Поле фамилия у провайдера 1 # "name":"first_name", // Поле имя у провайдера 1 # "roles":"groups", // Поле роль у провайдера 1 # "userId":"sberpdi" // Поле идентификатор пользователя у провайдера 1 # }, # { # "iss":"http://iss2.net", // Название (поля с перс данными - корневые элементы) # "surname":"user.family_name", // Поле фамилия у провайдера 2 # "name":"user.given_name", // Поле имя у провайдера 2 # "roles":"groups", // Поле роль у провайдера 2 # "userId":"sberpdi" // Поле идентификатор пользователя у провайдера 2 # } # ] # VUE_APP_DOCHUB_ROLES_CONFIG это словарь, описывающий соответствие между внутренними ролями пользователей в системе и их отображением на фронте. # Используется для отображения понятны пользователю ролей в интерфейсе # Пример заполненного значения # VUE_APP_DOCHUB_ROLES_CONFIG = [ # { # "role":"user", # "label":"Пользователь" # }, # { # "role":"admin", # "label":"Администратор" # } # ] # #*********************************************************** # Конфигурация для формирования logoutUrl # *********************************************************** # Важно! Примеры показанные ниже нужно описывать в одной строке, т.к в .env файле нельзя описывать json объекты многострочно. # VUE_DOCHUB_AUTH_LOGOUT_CONFIG=[{"iss": "http://iss1.com","logoutPath": "/protocol/openid-connect/logout","type": "tokenHint",},{"iss": "http://iss2.com","logoutPath": "/protocol/openid-connect/logout","type": "clientId","clientId": "access-manager-pub"},{"iss": "http://iss3.com","logoutPath": "http://ваш-прокси.ком/openid-connect-auth/logout?revoke=true&logout_idp=false", "type": "proxy"}] # Для корректного формирования logoutUrl необходимо настроить конфигурацию для подключенного провайдера (провайдеров). # Настройка конфигурации происходит через переменную VUE_DOCHUB_AUTH_LOGOUT_CONFIG. # В ней задаются параметры для формирования URL адреса выхода из системы. # Реализована поддержка 3 механизма интеграции с внешним провайдером при logout: # 1. proxy - при подключении провайдера через прокси (например, IAMProxy) # 2. tokenHint - когда в logoutUrl передается id_token_hint # 3. clientId - когда в logoutUrl передается client_id # Пример заполненного значения для трех провайдеров с разными механизмами # VUE_DOCHUB_AUTH_LOGOUT_CONFIG=[ # { # "iss": "http://iss1.com", # "logoutPath": "/protocol/openid-connect/logout", # "type": "tokenHint", // Указан тип tokenHint # }, # { # "iss": "http://iss2.com", # "logoutPath": "/protocol/openid-connect/logout", # "type": "clientId", // Указан тип clientId # "clientId": "access-manager-pub" # }, # { # "iss": "http://iss3.com", # "logoutPath": "http://ваш-прокси.ком/openid-connect-auth/logout?revoke=true&logout_idp=false", // logoutUrl, который предоставляет ваш прокси # "type": "proxy", // // Указан тип proxy # } # ] #*********************************************************** # Конфигурация для загрузки файлов в S3 в портальном режиме # *********************************************************** # Адрес сервиса загрузки. # VUE_APP_DOCHUB_S3_CLOUD_URL=https://myportal/api/fileloader # Включение фичи загрузки файлов в S3 (Y/N). # VUE_APP_DOCHUB_USING_S3=Y