Skip to main content
[ PIER ]

NocoBase

可扩展的开源无代码平台 —— 你自己的 Airtable + Retool。

Service #no-code#low-code#platform#workflow#database

NocoBase 是一个开源的、插件驱动的无代码/低代码平台,用于构建内部工具、管理面板、仪表板、CRM 和后台应用。在 UI 中定义数据模型,组合表单、表格、看板和图表,连接工作流 —— 当你超出无代码层时,下到 TypeScript 插件。

使用 Pier 部署

  1. 1 打开 Pier 控制台,点击 Add service。
  2. 2 从模板列表中选择 NocoBase。
  3. 3 选择版本、设置服务名称,Pier 会自动配置容器、存储和端口。
  4. 4 如需 HTTPS,请绑定域名。Traefik 会自动签发 Let's Encrypt 证书。

什么是 NocoBase?

NocoBase 是一个用于构建内部工具、管理面板、CRM 和后台应用的开源平台 —— 无需编写 UI 代码 —— 当无代码碰壁时用 TypeScript 扩展这些工具。

架构一路向下都是插件。核心很小;每个可见功能(集合、块、图表、工作流、 ACL)都是插件。你通过定义数据模型、从预构建块(表、表单、看板、日历、 图表)组合页面,并连接工作流(触发器 → 条件 → 操作)来构建应用。当你 需要无代码层没有的行为时,你编写插件并与之一起发布。

与 Airtable / Retool / NocoDB / Budibase 相比,NocoBase 的最佳点是”从无代码 开始并需要在代码中演进而无需重写的内部工具”。插件模型意味着你不会超出平台 —— 你扩展它。

Pier 如何部署它

NocoBase 在生产中使用 PostgreSQL。本模板在一个 compose 栈中发布 NocoBase 加 PostgreSQL 后端,预连线以便首次启动就有效。

默认端口:NocoBase 的 Web UI 在 Traefik 后(Pier 选择正确的内部端口)。 上传文件卷挂载在 /app/storage;PostgreSQL 数据持久化在自己的卷中。

首次启动时,通过 env 设置管理员 email/密码(Pier 生成安全密码)。登录, 创建你的第一个集合,将块放在页面上,你就有了管理 UI。

何时不要使用 NocoBase

如果你只需要现有 SQL 数据库上的表 UI,NocoDB 更简单。如果你的团队是代码 优先且生活在 TypeScript 中,Retool / AppSmith / Next.js 管理启动器可能 更适合。如果你的用例是公共站点的纯 CMS(文章、页面、媒体),Directus 更适合。NocoBase 是”我想快速构建内部工具并在它们增长时在代码中扩展它们” 的正确答案。

核心功能

无代码数据建模

从 UI 定义集合(表)和字段(文本、数字、日期、关系、文件、JSON)。外键、has-many、many-to-many —— 全部从点击。

页面组合器

拖放块 —— 表格、表单、看板板、日历、甘特、图表、地图。每个块绑定到带过滤、排序、权限的集合。

工作流自动化

可视化工作流构建器 —— 触发器(记录创建、计划、webhook)、条件、操作(发送 email、创建记录、HTTP 请求)。在你的应用内像 Make/n8n。

可插拔架构

NocoBase 一路向下都是插件 —— 核心很小,每个功能都是插件。当无代码碰壁时,用 TypeScript 写你自己的。

基于角色的访问控制

每角色 × 集合 × 操作的粒度权限。字段级可见性。每用户行级过滤。生产就绪 RBAC。

多租户

内置多租户支持 —— 每个租户有隔离数据和配置的单独空间。SaaS 用例友好定价。

应用场景

内部管理面板

替换手动构建的 Django admin / Rails admin / Retool 用于管理你的应用数据库。连接到外部 DB 或使用 NocoBase 自己的。

自定义 CRM

构建特定于你的工作流的 CRM —— 潜在客户管道、交易跟踪、联系人管理 —— 无需支付按席位 SaaS 定价。

项目 / 任务跟踪器

任务 + 看板 + 自动化 + 报告。用你拥有并可扩展的工具替换 Trello/Asana。

小型 ops 团队的后台应用

库存管理、订单处理、内容审核队列 —— SaaS 过度但 Excel 不规范的小后台应用。

带 UI 的无头后端

将 NocoBase 用作带 REST/GraphQL API 的无头数据存储用于单独的前端,加上用于管理的内置 UI。

代码示例

REST API —— 列出记录 bash
curl https://nocobase.example.com/api/myCollection:list \
  -H "Authorization: Bearer $TOKEN"
REST API —— 创建记录 bash
curl -X POST "https://nocobase.example.com/api/leads:create" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"ACME Corp","email":"[email protected]","stage":"new"}'
工作流 —— webhook 触发器 text
触发器:HTTP webhook
→ 条件:payload.event == "deal.won"
→ 操作:在集合 "deals_won_log" 中创建记录
→ 操作:HTTP POST 到 Slack webhook 带交易详情
自定义插件骨架 (TypeScript) typescript
import { Plugin } from "@nocobase/server";

export class MyPlugin extends Plugin {
  async load() {
    this.app.resourcer.define({
      name: "myCustom",
      actions: {
        async hello(ctx) {
          ctx.body = { message: "来自自定义插件的你好" };
        },
      },
    });
  }
}

对比

vs Airtable Airtable 是托管的、精致的,限制费用快速增长。NocoBase 是自托管的、免费的,并具有 Airtable 没有的工作流 + 插件可扩展性。
vs Retool / Internal.io Retool 是托管代码优先的内部工具 —— 强大但按席位定价。NocoBase 是无代码优先、自托管、无席位费用。
vs NocoDB NocoDB 是"现有 SQL DB 的 Airtable" —— 连接到你现有的 Postgres/MySQL 并公开表 UI。NocoBase 更广泛(工作流、插件、页面组合器);NocoDB 更简单但更窄。
vs Directus(本目录) Directus 专注于内容管理,带漂亮的管理 UI 在现有 DB 上。NocoBase 专注于带工作流和页面组合器的内部工具。重叠存在;按主要用例选择。
vs Budibase、AppSmith Budibase 和 AppSmith 针对类似的内部工具空间。NocoBase 的插件架构是差异化因素 —— 当无代码碰壁时用 TypeScript 扩展。

常见问题

它使用什么数据库?
PostgreSQL 是生产支持的后端(NocoBase 附带带 Postgres 的 docker-compose)。SQLite 仅用于开发。Pier 部署带 Postgres 伴侣。
它真的免费吗?
NocoBase Core 是 Apache 2.0(免费、开源)。NocoBase 提供付费插件和托管版本,但自托管社区版本涵盖大多数生产需求。
如何写插件?
TypeScript。运行 npx create-nocobase-plugin、构建、安装。插件热重载在开发模式下工作。
它可以连接到现有数据库吗?
是 —— 将"数据源"指向外部 PostgreSQL/MySQL/MSSQL/Oracle DB。将 NocoBase 用作之上的 UI/工作流层。
多语言?
是 —— 中文、英文、俄文、西班牙文、法文、日文等的 UI 翻译开箱即用。插件作者添加自己的。
多租户如何工作?
"租户"是带隔离数据的 NocoBase 应用实例。Multi-app Manager 插件让你从父管理员配置租户。
备份?
NocoBase 数据存在 PostgreSQL 中。备份 Postgres(pg_dump)和上传文件卷。

相关服务

在你的 VPS 上部署

NocoBase 是一个开源的、插件驱动的无代码/低代码平台,用于构建内部工具、管理面板、仪表板、CRM 和后台应用。在 UI 中定义数据模型,组合表单、表格、看板和图表,连接工作流 —— 当你超出无代码层时,下到 TypeScript 插件。

部署此服务 →