自建 Busabase
你需要哪个版本、三种部署形态各自要你付出多少运维成本、以及实测出来的硬件要求——让你在下载任何东西之前就能做决定。
自己跑 Busabase 通常只有两个理由:数据不能出网,或者团队想彻底拥有这套东西。两个理由都成立,但它们指向不同的版本。
选哪个版本
| 开源版 | Premium | Enterprise | |
|---|---|---|---|
| 价格 | 免费(MIT) | $19 / 席位 / 月 | 联系我们 |
| 审批引擎、全部节点类型 | ✅ | ✅ | ✅ |
| REST API、MCP、Agent 接入 | ✅ | ✅ | ✅ |
| 登录与用户账号 | ❌ | ✅ | ✅ |
| 组织、空间、成员角色 | ❌ | ✅ | ✅ |
| 系统管理后台、审计日志导出 | ❌ | ✅ | ✅ |
| API Key 与 Vault 密钥托管 | ❌ | ✅ | ✅ |
| SSO / LDAP | ❌ | ❌ | ✅ |
| SLA 与专属支持工程师 | ❌ | ❌ | ✅ |
开源版不是被阉割的 Premium。它是同一套引擎,只是完全没有用户体系——一台机器、一个人、没有登录页。对很多人来说这就够了;如果对你也够,那就用它,这页可以不用往下读了。
一旦有第二个人需要登录,你就需要 Premium。它加的所有东西都围绕多人共用同一台服务器:账号、角色、谁改了什么,以及管理这些的后台。
Premium 按席位授权,席位数 = 能登录这个实例的成员数。授权过期不会把你锁在门外——实例转为只读,数据照样可读、可导出。详见授权。
选哪种部署形态
| 单机一体机 | Compose | Kubernetes | |
|---|---|---|---|
| 进程 | 一个容器 | 四个服务 | Helm chart |
| Postgres | 容器内 | 独立服务 | 你的或集群内 |
| 对象存储 | 容器内 | SeaweedFS 服务 | 你的或集群内 |
| 适合 | 试用、≤ 20 人 | 生产 | 大规模或强合规 |
| 升级 | 拉镜像、重启 | 拉镜像、compose up -d | helm upgrade |
| 状态 | 可用 | 可用 | 可用 |
先用一体机。一条 docker run,是判断 Busabase 到底适不适合你的最快路径。之后要转 Compose,做法是「备份恢复到一套新部署」,不是一个迁移项目。
一体机镜像把 Postgres 跑在容器内。那是真的 Postgres,不是什么内嵌替代品,但所有东西共享同一个容器的生命周期——没挂命名卷就 docker rm,数据库跟着一起没。务必带上 -v busabase-data:/data。
机器需要什么
空数据卷冷启动实测(2026-09-05,Docker 29.6):
| 最低 | 实测值 | |
|---|---|---|
| CPU | 2 vCPU | — |
| 内存 | 2 GB | 空载 548 MiB |
| 磁盘 | 10 GB | 首次启动后 /data 占 50 MB |
| 开放端口 | 3000/tcp、8333/tcp | 应用 + 对象存储 |
| 启动耗时 | — | docker run 到 /api/health 健康:24 秒 |
「最低」是在实测空载值上留了余量,而不是把空载值直接当成要求。空载 548 MiB,正是内存写 2 GB 而不是 1 GB 的原因:那个数字里没有留给并发上传、迁移执行、以及 Postgres 自身在负载下的工作内存。
Postgres 从不暴露到容器外。对象存储则必须暴露:上传走预签名 PUT、下载走跳转,浏览器要直接访问存储——跟它在云版上访问 S3 是同一回事。两个端口都要开,也都要放在带 TLS 的反向代理后面——见 Compose 生产部署。
下一步
- 想先试试 → 快速开始
- 要上生产 → Compose 生产部署
- 目标网络不通外网 → 离线安装
- 已经跑起来了,要激活 → 授权