Самостоятельный хостинг платформы CADBase

Полное руководство по развертыванию CADBase на вашей собственной инфраструктуре с использованием Docker и Kubernetes.

Развёртывание CADBase: схема взаимодействия сервисов

Назначение и архитектура CADBase

CADBase — платформа с открытым исходным кодом для хранения инженерных данных, версионирования и визуализации 3D-моделей в браузере. Интегрируется с САПР и другим ПО через API.

Это руководство описывает запуск всего стека (БД, API-бэкенд, фоновый обработчик) одной командой, с изоляцией секретов и конфигурацией под конкретное окружение.

В основе платформы — трёхуровневая модель сущностей. Компонент — карточка изделия с общими метаданными. Модификация — конкретное исполнение компонента (параметры, конструкторская документация). Набор файлов — изолированная группа файлов для работы с конкретным инструментом в рамках модификации.

Технологический стек: бэкенд — Rust (Actix-web, Tokio), фронтенд — Rust + WASM (Yew), 3D-ядро — OCCT и Three.js (WebGPU/WebGL), инфраструктура — Docker Compose / Kubernetes, PostgreSQL и S3-совместимое хранилище.


Что нужно для старта

  • ОС: Linux (Ubuntu, Debian, Red OS или другие LTS-дистрибутивы).
  • Железо: 4 vCPU, 8 ГБ ОЗУ, 30 ГБ диск (для сборки, ~15 мин).
  • Утилиты: curl, git, dockerdocker-compose) и openssl.
  • Хранилище: S3-совместимое (Garage, Ceph, SeaweedFS) — нужны доступы к бакету.

Установка одной командой

curl --proto '=https' --tlsv1.2 -sSLf https://codeberg.org/mnnxp/cdbs-installer/raw/branch/master/cdbs_start.sh | bash

Что произойдёт

  1. Проверка окружения: скрипт найдёт в системе git, docker, openssl и curl. Если чего-то не хватает, он сам предложит установить утилиты через менеджер пакетов вашей ОС (apt, dnf или yum).
  2. Конфигурация: скрипт создаст папку cdbs и файл setup.config с настройками по умолчанию, затем встанет на паузу — отредактируйте параметры (S3, порты, пароли) и нажмите Enter для продолжения.
  3. Клонирование и сборка: синхронизация с репозиториями, сборка контейнеров, подготовка БД.
  4. SSL-сертификаты: скрипт спросит — сгенерировать самоподписанные или использовать свои. Во втором случае положите server.crt и server.key в папку ./ssl/.

Для быстрого локального теста нажмите Enter на обоих запросах скрипта (пауза после конфигурации и выбор SSL): примите дефолтные S3-заглушки и сгенерируйте самоподписанный SSL.

Примечание: для изменения S3, портов или паролей после запуска платформы переустановка не нужна. Обновите setup.config и снова выполните команду установки.

Проверка работоспособности


Enterprise-окружение

Для развёртывания в ИТ-инфраструктуре предприятий потребуется изменить setup.config.

Подключение к внешней СУБД

Вместо локального контейнера используется защищённый отказоустойчивый кластер PostgreSQL. Доступ — через POSTGRES_USER, POSTGRES_PASSWORD и POSTGRES_DB.

Подключение к корпоративному S3-хранилищу

Позволяет использовать Presigned URLs — подписанные ссылки с ограниченным временем доступа, не раскрывающие ключи S3. Подключение — через переменные S3_ENDPOINT, S3_REGION, S3_APPLICATION_KEY_ID, S3_APPLICATION_KEY и S3_BUCKET.

Шифрование трафика (HTTPS/TLS)

Для защиты конфиденциальных инженерных данных на входе в сеть рекомендуется развернуть Reverse Proxy (Nginx, Traefik), который будет завершать SSL-сертификаты на портах 80/443 и пробрасывать трафик внутрь контейнеров cdbs-back и cdbs-app.


Памятка

Все команды выполняются из корня cdbs, где лежит docker-compose.yml.

Посмотрите список и статус контейнеров:

docker compose ps

Все контейнеры (cdbs-db, cdbs-back, cdbs-proc, cdbs-app) должны быть в статусе Started или Healthy.

Перезапуск платформы

docker compose restart

Остановка платформы (с сохранением данных)

docker compose down

Полное удаление стека (очистка дисков)

docker compose down -v

Внимание: полностью удалит платформу со всеми данными — БД PostgreSQL и локальные Docker-тома (volumes).

Просмотр логов

  • Веб-приложение:

    docker compose logs -f cdbs-app
  • Сервер с API:

    docker compose logs -f cdbs-back
  • Фоновый обработчик:

    docker compose logs -f cdbs-proc
  • База данных:

    docker compose logs -f cdbs-db

Разверните CADBase на своей инфраструктуре — полный контроль над данными и масштабированием.