CADBase平台自托管部署

使用Docker和Kubernetes在自有基础设施上部署CADBase的完整指南。

CADBase 部署:服务交互图

CADBase 的用途与架构

CADBase 是一个开源平台,用于存储工程数据、进行版本管理以及在浏览器中可视化 3D 模型。它通过 API 与 CAD 系统及其他软件集成。

本指南介绍如何用一条命令启动整个技术栈(数据库、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 GB 内存、30 GB 磁盘(用于构建,约 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

将会发生什么

  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 后再次执行安装命令即可。

验证部署


企业环境

在企业 IT 基础设施中部署需要修改 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)

为保护网络入口处的机密工程数据,建议部署反向代理(Nginx、Traefik),在 80/443 端口终止 SSL 证书并将流量转发到 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 卷。

查看日志

  • Web 应用:

    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 —— 完全掌控数据与扩展。