Skip to content

Commit 5c11037

Browse files
authored
Merge pull request #435 from RabotaRu/v3.6.0
v3.6.0
2 parents 37235d5 + be521d8 commit 5c11037

File tree

19 files changed

+712
-119
lines changed

19 files changed

+712
-119
lines changed

Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ ARG NODE_VERSION=20
66
FROM node:${NODE_VERSION}-alpine AS deps
77
WORKDIR /var/www
88
COPY package.json package-lock.json ./
9+
COPY plugins/*/package.json ./plugins/
910
# RUN --mount=type=cache,target=/root/.npm npm install
1011
RUN npm install
1112

@@ -15,6 +16,7 @@ FROM node:${NODE_VERSION}-alpine AS builder
1516
WORKDIR /var/www
1617
COPY --from=deps /var/www .
1718
COPY . .
19+
COPY --from=deps /var/www/plugins/*/node_modules ./plugins/*/node_modules/
1820
ENV NODE_ENV=production
1921
# RUN --mount=type=cache,target=./node_modules/.cache npm run build
2022
RUN npm run build

example.env

Lines changed: 82 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,10 @@
7373
# VUE_APP_DOCHUB_BUILDING_CACHE= memory / filesystem
7474

7575
# (BF) Определяет принцип кэширования ответов к Data Lake через backend
76-
# none - не кэшируется (по умолчанию)
77-
# memory - кеширование в памяти. При перезагрузке буде очищаться.
76+
# none - не кэшируется (по умолчанию)
77+
# redis - для кеширования используется СУБД Redis (https://redis.io/).
78+
# Конфигурация подключения задается в переменной VUE_APP_DOCHUB_REDIS_URL
79+
# memory - кеширование в памяти. При перезагрузке буде очищаться.
7880
#
7981
# Иное значение рассматривается как относительный путь к папке кеширования. Папка должна существовать!
8082
# В этом случае результат запроса будет сохраняться в файле. При перезагрузке кэш будет сохраняться.
@@ -123,6 +125,21 @@
123125
# VUE_APP_DOCHUB_BACKEND_EVENT_LOADING_ERRORS_FOUND=http://foo.local/error
124126

125127

128+
# (B) Интеграция с СУБД Redis (https://redis.io/)
129+
# Redis применяется для кэширования результатов запросов на стороне backend, а также для создания кластера DocHub.
130+
# Формат URL подключения: redis[s]://[[username][:password]@][host][:port][/db-number]
131+
# Пример: redis://alice:foobared@awesome.redis.server:6380
132+
# По умолчанию значение - redis://localhost:6379
133+
# VUE_APP_DOCHUB_REDIS_URL=redis://localhost:6379
134+
135+
136+
# (B) Кластер DocHub (beta)
137+
# Обеспечивает высокую доступность сервиса. На производительность не влияет.
138+
# Количество нод в кластере условно не ограничено. Для работы кластер требует Redis.
139+
# По умолчанию кластер выключен (off).
140+
# VUE_APP_DOCHUB_CLUSTER= on / off
141+
142+
126143

127144
# ***********************************************************
128145
# Примеры конфигурирования
@@ -140,6 +157,8 @@
140157
# - Войдя на портал, пользователь увидит только документацию DocHub.
141158
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.
142159

160+
161+
143162
# (F)******** Портал с собственной документацией *****************
144163

145164
# Развертывание в режиме frontend (толстый клиент)
@@ -157,6 +176,7 @@
157176
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть).
158177

159178

179+
160180
# (F)* Портал с собственной документацией и без документации DocHub **
161181

162182
# Развертывание в режиме frontend (толстый клиент)
@@ -173,6 +193,7 @@
173193
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.
174194

175195

196+
176197
# (F)* Портал с собственной документацией из GitLab без авторизации **
177198

178199
# Развертывание в режиме frontend (толстый клиент)
@@ -191,6 +212,7 @@
191212
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием собственного сервера https://plantuml.local/svg/ (требуется развернуть).
192213

193214

215+
194216
# (F)* Портал с собственной документацией из GitLab с авторизацией **
195217

196218
# Развертывание в режиме frontend (толстый клиент)
@@ -210,6 +232,7 @@
210232
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.
211233

212234

235+
213236
# (FB)******** Портал с документацией DocHub и backend *****************
214237

215238
# Развертывание в режиме frontend + backend (тонкий клиент)
@@ -224,7 +247,8 @@
224247
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.
225248

226249

227-
# (FB)* Портал с собственной документацией и backend и без документации DocHub**
250+
251+
# (FB)* Портал с собственной документацией и backend, без документации DocHub**
228252

229253
# Развертывание в режиме frontend + backend (тонкий клиент)
230254
# содержимое файла .env:
@@ -242,5 +266,60 @@
242266
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.
243267

244268

269+
270+
# (FB) Портал с собственной документацией и backend, без документации DocHub, с кешированием в Redis
271+
272+
# Развертывание в режиме frontend + backend (тонкий клиент) + Redis
273+
# содержимое файла .env:
274+
275+
# VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml
276+
# VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n
277+
# VUE_APP_DOCHUB_DATALAKE_CACHE=redis
278+
# VUE_APP_DOCHUB_REDIS_URL=redis://alice:foobared@awesome.redis.server:6380
279+
280+
281+
# Команда сборки:
282+
# npm run backend
283+
# Результат:
284+
# - Будет собран frontend проект в режиме backend
285+
# - Будет запущен nodejs сервер на порту 3030 (http://localhost:3030/), где будет поднят портал и backend сервер
286+
# - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/*
287+
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.
288+
# - Результаты запросов будут кэшироваться в Redis, что увеличит производительность
289+
290+
291+
292+
# (FB) Портал с собственной документацией в кластере, без документации DocHub, с кешированием в Redis
293+
294+
# Развертывание в режиме frontend + backend (тонкий клиент) + Redis + Cluster
295+
# Для работы кластера необходимо самостоятельно развернуть балансировщик запросов.
296+
# Например на nginx - https://nginx.org/ru/docs/http/ngx_http_upstream_module.html
297+
# Недоступная нода определяется по коду ответа - 503.
298+
#
299+
# Конфигурация идентична для всех нод. Содержимое файла .env:
300+
301+
## Доступ к ресурсам с манифестами должен быть у всех нод кластера
302+
# VUE_APP_DOCHUB_ROOT_MANIFEST=workspace/sberauto/root.yaml
303+
# VUE_APP_DOCHUB_APPEND_DOCHUB_DOCS=n
304+
# VUE_APP_DOCHUB_DATALAKE_CACHE=redis
305+
# VUE_APP_DOCHUB_REDIS_URL=redis://alice:foobared@awesome.redis.server:6380
306+
# VUE_APP_DOCHUB_CLUSTER=on
307+
# VUE_APP_DOCHUB_BACKEND_PORT=3030
308+
## Вызов бэкенда должен происходить через балансировщик, который перенаправляет запросы на действующую ноду.
309+
# VUE_APP_DOCHUB_BACKEND_URL=http://node-balancer:3030
310+
311+
312+
# Команда сборки:
313+
# npm run backend
314+
# Результат:
315+
# - Будет собран frontend проект в режиме backend
316+
# - Будет запущена нода кластера на порту 3030 (http://localhost:3030/), где будет поднят портал backend сервер
317+
# - Войдя на портал, пользователь увидит документацию размещенную по пути ./public/workspace/sberauto/*
318+
# - Рендеринг PlantUML диаграмм будет осуществляться с использованием публичного сервера с ограничением размера контента.
319+
# - Результаты запросов будут кэшироваться в Redis, что увеличит производительность
320+
# - Запросы к backend будут направляться на балансировщик, который перенаправит их на действующую ноду
321+
# - Ноды backend будут работать в кластере, что увеличит надежность
322+
323+
245324
# Больше информации о переменных среды выполнения
246325
# https://cli.vuejs.org/ru/guide/mode-and-env.html

0 commit comments

Comments
 (0)