
Назначение и архитектура 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,docker(сdocker-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Что произойдёт
- Проверка окружения: скрипт найдёт в системе
git,docker,opensslиcurl. Если чего-то не хватает, он сам предложит установить утилиты через менеджер пакетов вашей ОС (apt,dnfилиyum). - Конфигурация: скрипт создаст папку
cdbsи файлsetup.configс настройками по умолчанию, затем встанет на паузу — отредактируйте параметры (S3, порты, пароли) и нажмитеEnterдля продолжения. - Клонирование и сборка: синхронизация с репозиториями, сборка контейнеров, подготовка БД.
- SSL-сертификаты: скрипт спросит — сгенерировать самоподписанные или использовать свои. Во втором случае положите
server.crtиserver.keyв папку./ssl/.
Для быстрого локального теста нажмите Enter на обоих запросах скрипта (пауза после конфигурации и выбор SSL): примите дефолтные S3-заглушки и сгенерируйте самоподписанный SSL.
Примечание: для изменения S3, портов или паролей после запуска платформы переустановка не нужна. Обновите setup.config и снова выполните команду установки.
Проверка работоспособности
- Веб-интерфейс: https://localhost:8080/
- GraphQL API Playground: http://localhost:3000/
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