Configure BIM Synology deployment

This commit is contained in:
CODEX 2026-06-22 13:09:23 +03:00
parent 4be23070a1
commit 99ee210ffc
3 changed files with 30 additions and 2 deletions

14
.env.synology.example Normal file
View File

@ -0,0 +1,14 @@
# Synology/NODE.DC production BIM Viewer environment.
# Copy to the live BIM deployment env and fill secrets from platform .env.synology.
NODEDC_BIM_HOST_PORT=18100
NODEDC_BIM_SERVICE_SLUG=bim-viewer
NODEDC_BIM_AUTH_REQUIRED=1
NODEDC_BIM_PUBLIC_URL=https://bim.nodedc.tech
NODEDC_BIM_ALLOWED_ORIGINS=https://hub.nodedc.ru,https://ops.nodedc.ru,https://bim.nodedc.tech
NODEDC_BIM_COOKIE_SECURE=1
NODEDC_BIM_COOKIE_SAMESITE=None
NODEDC_LAUNCHER_BASE_URL=https://hub.nodedc.ru
NODEDC_LAUNCHER_INTERNAL_URL=https://hub.nodedc.ru
NODEDC_INTERNAL_ACCESS_TOKEN=replace-with-platform-internal-token

View File

@ -6,14 +6,20 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
PORT: "8080" PORT: "8080"
NODEDC_BIM_SERVICE_SLUG: "${NODEDC_BIM_SERVICE_SLUG:-bim-viewer}"
NODEDC_BIM_AUTH_REQUIRED: "${NODEDC_BIM_AUTH_REQUIRED:-0}" NODEDC_BIM_AUTH_REQUIRED: "${NODEDC_BIM_AUTH_REQUIRED:-0}"
NODEDC_BIM_PUBLIC_URL: "${NODEDC_BIM_PUBLIC_URL:-http://localhost:8080}" NODEDC_BIM_PUBLIC_URL: "${NODEDC_BIM_PUBLIC_URL:-http://localhost:8080}"
NODEDC_BIM_DATA_ROOT: "${NODEDC_BIM_DATA_ROOT:-}"
NODEDC_BIM_SESSION_COOKIE: "${NODEDC_BIM_SESSION_COOKIE:-nodedc_bim_session}"
NODEDC_BIM_SESSION_TTL_MS: "${NODEDC_BIM_SESSION_TTL_MS:-43200000}"
NODEDC_BIM_COOKIE_SECURE: "${NODEDC_BIM_COOKIE_SECURE:-0}"
NODEDC_BIM_COOKIE_SAMESITE: "${NODEDC_BIM_COOKIE_SAMESITE:-}"
NODEDC_LAUNCHER_BASE_URL: "${NODEDC_LAUNCHER_BASE_URL:-http://localhost:5173}" NODEDC_LAUNCHER_BASE_URL: "${NODEDC_LAUNCHER_BASE_URL:-http://localhost:5173}"
NODEDC_LAUNCHER_INTERNAL_URL: "${NODEDC_LAUNCHER_INTERNAL_URL:-http://host.docker.internal:5173}" NODEDC_LAUNCHER_INTERNAL_URL: "${NODEDC_LAUNCHER_INTERNAL_URL:-http://host.docker.internal:5173}"
NODEDC_INTERNAL_ACCESS_TOKEN: "${NODEDC_INTERNAL_ACCESS_TOKEN:-}" NODEDC_INTERNAL_ACCESS_TOKEN: "${NODEDC_INTERNAL_ACCESS_TOKEN:-}"
NODEDC_BIM_ALLOWED_ORIGINS: "${NODEDC_BIM_ALLOWED_ORIGINS:-http://localhost:5173,http://localhost:8090}" NODEDC_BIM_ALLOWED_ORIGINS: "${NODEDC_BIM_ALLOWED_ORIGINS:-http://localhost:5173,http://localhost:8090}"
ports: ports:
- "8080:8080" - "${NODEDC_BIM_HOST_PORT:-8080}:8080"
volumes: volumes:
- ./:/beam - ./:/beam

View File

@ -28,14 +28,22 @@ API:
- `docker compose -f docker-compose.beam.yml up ndc-beam-viewer` - `docker compose -f docker-compose.beam.yml up ndc-beam-viewer`
- `docker compose -f docker-compose.beam.yml up nodedc-bim-converter` - `docker compose -f docker-compose.beam.yml up nodedc-bim-converter`
Synology Beam compose:
- скопировать `.env.synology.example` в `.env` рядом с `docker-compose.beam.yml`;
- заполнить `NODEDC_INTERNAL_ACCESS_TOKEN` тем же значением, что и в platform `.env.synology`;
- запустить `docker compose -f docker-compose.beam.yml up -d ndc-beam-viewer nodedc-bim-converter`.
Поле `ownerId` пока всегда `null`, но оставлено для будущих пользователей/шаринга. Поле `ownerId` пока всегда `null`, но оставлено для будущих пользователей/шаринга.
NODE.DC auth/share: NODE.DC auth/share:
- `NODEDC_BIM_AUTH_REQUIRED=1` включает вход через Launcher handoff. - `NODEDC_BIM_AUTH_REQUIRED=1` включает вход через Launcher handoff.
- `NODEDC_BIM_SERVICE_SLUG=bim-viewer` должен совпадать со slug сервиса в Launcher.
- `NODEDC_INTERNAL_ACCESS_TOKEN` должен совпадать с Launcher internal token. - `NODEDC_INTERNAL_ACCESS_TOKEN` должен совпадать с Launcher internal token.
- `NODEDC_LAUNCHER_BASE_URL` — публичный Launcher URL для редиректа на login/launch. - `NODEDC_LAUNCHER_BASE_URL` — публичный Launcher URL для редиректа на login/launch.
- `NODEDC_LAUNCHER_INTERNAL_URL` — внутренний URL Launcher для `/api/internal/handoff/consume`. - `NODEDC_LAUNCHER_INTERNAL_URL` — внутренний URL Launcher для `/api/internal/handoff/consume`.
- `NODEDC_BIM_PUBLIC_URL` — публичный URL viewer-а для share-ссылок, на проде `https://bim.nodedc.ru`. - `NODEDC_BIM_PUBLIC_URL` — публичный URL viewer-а для share-ссылок, на проде `https://bim.nodedc.tech`.
- `NODEDC_BIM_HOST_PORT` — host-port для `docker-compose.beam.yml`; на Synology BIM публикуется как `18100:8080`.
- `NODEDC_BIM_COOKIE_SAMESITE=None` и `NODEDC_BIM_COOKIE_SECURE=1` нужны для BIM в iframe на `ops.nodedc.ru`.
- `NODEDC_BIM_DATA_ROOT` — опциональный корень файлового storage вместо `server/data`. - `NODEDC_BIM_DATA_ROOT` — опциональный корень файлового storage вместо `server/data`.
- `POST /api/shares` создаёт публичную read-only ссылку на upload artifact; `/share/<token>` открывает viewer в guest mode. - `POST /api/shares` создаёт публичную read-only ссылку на upload artifact; `/share/<token>` открывает viewer в guest mode.
- `GET /api/models` возвращает личные активные модели текущего пользователя. - `GET /api/models` возвращает личные активные модели текущего пользователя.