
Budibase 开源低代码平台在自有基础设施上快速构建企业工具与自动化【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibaseBudibase 是一款开源的 low-code低代码平台帮助开发者与 IT 团队在几分钟内创建并自动化定制化业务应用并可直接部署在自有基础设施之上。本文以仓库 i18n/README.es.mdBudibase 官方西班牙语 README为骨架结合仓库源码packages/server、packages/builder、packages/client、packages/cli等展开深度解读。读完本文你将掌握 Budibase 的核心能力定位、支持的数据源与自动化机制、公开 API 用法以及 Docker、Kubernetes、DigitalOcean 等主流自托管方式。Budibase 是什么核心定位README 将 Budibase 定义为在几分钟内、于你自己的基础设施上构建定制化企业工具的开源 low-code 平台主要面向开发者与 IT 专业人员帮助其快速创建和自动化定制应用。与之对应仓库根目录 README.md 的开篇描述为Budibase is an open-source operations platform that saves engineers 100s of hours building Agents, Apps and Automations, securely——即一个开源运营平台用于安全地构建 Agent、应用与自动化。两个版本互相印证了项目低代码 自托管 可自动化的三大立足点。从源码结构看这一平台并非单一应用而是一套完整的工程体系前端有可视化设计器builder运行时浏览器端有应用渲染引擎client后端有 Koa 应用服务器server与用户/租户服务worker。下文将逐一展开。核心特性从设计、数据到自动化的完整闭环构建真实可用的应用Budibase 允许用户构建高性能的单页应用SPA并支持自适应响应式设计为终端用户提供良好的使用体验。这一能力落地的关键证据在仓库的包结构中packages/builder可视化应用构建器前端基于 Svelte 编写入口见 App.sveltepackages/client运行在浏览器端负责读取应用定义的 JSON 并在运行时即时渲染出 Web 应用packages/frontend-core 与 packages/bbui提供前端共享组件库表格、表单、抽屉、弹窗等可被 builder 与运行时复用。也就是说Builder 中拖拽出的界面会被序列化为 JSON 定义由 Client 在浏览器端解释渲染——这是 Budibase低代码生成真实应用的核心机制。开源可扩展GPL v3 与包级许可证README 强调 Budibase 是 GPL v3 许可的开源软件用户可以按需扩展或修改。仓库根目录 LICENSE 给出了更精确的说明每个包拥有独立的许可证文件整体可视为 GPLv3付费功能位于 packages/pro采用 BSLBusiness Source License授权Budibase 还内置了由 The Neighbourhoodie Software GmbH 提供的 Structured Query Server其许可见 SQS_LICENSE。关键一点是你用 Budibase 构建的应用不会打包任何 GPLv3 代码因此不受 GPL 限制——你可以按自己的意愿为生成的应用选择许可证。这与 README.es 中客户端与组件库以 MPL 许可构建的应用可自由授权的表述是一致的。数据接入导入现有数据或从零开始Budibase 支持从多种数据源导入数据。README.es 明确列出的数据源包括MongoDB、CouchDB、PostgreSQL、MySQL、Airtable、S3、DynamoDB 以及 REST API也可以完全不依赖外部工具从零构建应用。这些数据源在源码中均有对应实现位于 packages/server/src/integrationsREADME 提到的数据源对应源码实现MongoDBmongodb.tsCouchDBcouchdb.tsPostgreSQLpostgres.tsMySQLmysql.tsAirtableairtable.tsS3s3.tsDynamoDBdynamodb.tsREST APIrest.ts此外该目录还包含 ArangoDB、Elasticsearch、Firebase、Google Sheets、Microsoft SQL Server、Oracle、Redis、Snowflake 等更多集成印证了 README 中支持大量数据源的说法。这些集成通过统一的查询执行层见 queries与自动化步骤中的executeQuery打通使数据既可用于界面展示也能被自动化流程调用。预置专业组件拿来即用的设计积木Budibase 内置大量专业预置组件可作为构建界面的积木直接使用并且开放了大部分 CSS 供用户按品牌设计调整。源码侧的证据包括builder 的组件面板实现集中在 packages/builder/src/components400 个 Svelte 组件文件运行时组件库见 packages/client/src/components通用 UI 组件库见 packages/bbui/src其中包含Table、Form、Modal、Drawer、Pagination、ColorPicker、TreeView等常用构件。对于自定义组件需求README 引导用户到仓库 Discussion 的 Ideas 分类提出建议。自动化与 Webhook把重复劳动交给平台Budibase 的另一大卖点是流程自动化将应用与其他工具集成并连接到 Webhook 事件。用户只需告诉 Budibase做什么平台即可自动完成从 Webhook 触发到发送邮件等一系列操作。这在源码中有非常直观的体现自动化引擎位于 packages/server/src/automations含触发器triggers.ts、动作编排actions.ts与重水合机制rehydrate.ts预置动作步骤位于 packages/server/src/automations/steps包括数据操作createRow、updateRow、deleteRow、getRow、queryRows、executeQuery外部集成outgoingWebhook出站 Webhook、slack、discord、zapier、n8n、make、sendSmtpEmail邮件逻辑与脚本filter、delay、executeScript/executeScriptV2、collect、extractStateAI 相关openai以及 steps/ai 目录系统级serverLog、bash、triggerAutomationRun等。apiRequest.ts与executeScript.ts的存在说明自动化节点本质上是可以执行任意 HTTP 请求与脚本的通用执行器这让跨工具编排成为可能。README.es 中连接 webhook 事件 → 自动化发送邮件的典型场景正是由outgoingWebhook/sendSmtpEmail等步骤直接支撑的。管理员的天堂全局治理与自托管README 用Un paraíso para administradores管理员的天堂来描述管理侧能力将 Budibase 托管在自有基础设施上全局管理用户、入职onboarding、SMTP、应用、分组、主题theming等还可以向用户/分组提供应用门户app portal并把用户管理权限下放给分组管理员。仓库中与之对应的实现包括管理 API 位于 packages/server/src/api应用、分组、用户、主题、SMTP 配置等控制器用户与租户基础设施位于 packages/workerKoa 应用负责账号、认证、SCIM 等入口见 packages/worker/src/index.ts平台级用户/租户抽象位于 packages/backend-core/src/platform权限中间件覆盖了 adminOnly、builderOnly、builderOrAdmin、workspaceBuilderOrAdmin 等细粒度角色控制见 packages/backend-core/src/middleware。Budibase 公开 API把 Budibase 当后端用README 专门介绍了 Budibase 的公开 APIPublic API其定位与项目其他部分一致简单易用、灵活并带来新的扩展能力。它主要解决两个诉求把 Budibase 用作后端Backend as a Service外部系统可以直接通过 API 读写应用数据互操作性Interoperability让 Budibase 应用与第三方系统打通。API 的契约文档直接存在于仓库中 packages/server/specs/openapi.yaml 与 openapi.json 提供完整规范security.ts 定义 API Key 鉴权方案parameters.ts 定义通用请求参数生成逻辑见 generate.ts。服务端对公开 API 的实现则位于 packages/server/src/api 下以 public 命名的路由模块。README 建议的 API 上手路径为先通过通用文档了解如何获取 API Key、如何使用规范文件以及如何在 Postman 中调用再通过交互式 API 文档学习具体接口如创建应用。由于 OpenAPI 规范文件已在仓库中开发者完全可以自行生成客户端 SDK 或直接导入 Postman/Insomnia。快速开始从 Docker、Kubernetes 到云README 给出两条上手路径自托管在自有基础设施上部署或使用 Budibase Cloud无需自托管快速开始。自托管方式在仓库中均有对应的部署资产Docker单镜像支持 ARMREADME 强调 Docker 方式提供single ARM compatible image兼容 ARM 的单镜像。仓库中 hosting/single/Dockerfile 即为构建该单镜像的定义配合 hosting/single/runner.sh 与健康检查脚本 hosting/single/healthcheck.sh 使用根目录 package.json 也提供了build:docker:single:multiarch脚本使用docker buildx同时构建linux/arm64与linux/amd64多架构镜像印证了 ARM 兼容性。Docker ComposeCompose 方式适合在单机上编排完整依赖。仓库提供了 hosting/docker-compose.dev.yaml开发栈与 hosting/docker-compose.redis-tls.yaml启用 Redis TLS 的部署。从 dev compose 可以看到 Budibase 的依赖拓扑proxy-serviceNginx 反代→couchdb-service内置 CouchDB 数据库同时开放 SQS 端口 4984、redis-service缓存/队列与minio-serviceS3 兼容对象存储用于文件存储。Kubernetes仓库 charts 目录内置了完整的 Helm Chartcharts/budibase/Chart.yaml其 templates 覆盖了 app、worker、proxy、automation-worker、litellmLLM 网关、minio、redis、couchdb、ingress、HPA、PDB、ServiceAccount 等全部组件并附带测试用例charts/budibase/tests说明 K8s 部署是受官方支持的一等公民。DigitalOcean 与 Portainer仓库 hosting/digitalocean/template.json 提供 DigitalOcean 一键部署的市场镜像模板hosting/portainer/template.json 则面向 Portainer 用户提供应用模板。二者都是 README 所列部署路径的直接落地。运维工具Budibase CLI除容器化部署外仓库还提供官方 CLIpackages/cli安装后命令为budi其 package.json 描述为for developers, self hosting and migrations面向开发者、自托管与迁移。CLI 源码中可以看到备份恢复backups、插件管理plugins、托管相关操作hosting等模块是自托管运维的实用补充。仓库组织结构Lerna 管理的单仓库README 明确指出Budibase 是一个由 Lerna 管理的单仓库monorepoLerna 负责构建与发布各包并在每次变更时保持同步。根目录 package.json 确认了这一点使用lerna^10.0.0 Yarn workspacespackages/*并提供build、dev、test、lint、check:types等根级脚本。README 重点介绍的两个核心包并扩展补充了其他关键包包路径职责packages/builder构建器客户端代码一个 Svelte 应用提供可视化应用设计能力packages/client运行于浏览器端读取 JSON 定义并即时生成 Web 应用packages/serverBudibase 服务端Koa 应用为 builder 提供支撑并对外提供数据库交互与文件存储 APIpackages/worker负责账号、认证、SCIM 等用户侧基础设施的 Koa 服务packages/backend-core后端共享核心库认证、中间件、事件、Redis、租户、对象存储等packages/bbui通用 Svelte UI 组件库packages/frontend-core前端共享逻辑与组件packages/string-templates模板字符串渲染Handlebars 风格packages/types共享 TypeScript 类型定义packages/shared-core前后端共享的核心逻辑packages/pro付费/企业级功能packages/cli开发者与自托管运维 CLI从服务端入口 packages/server/src/koa.ts 可以看到server 是一个标准的 Koa 应用注册了correlation、pino日志、ip等中间件挂载 API 与 automations 模块并通过gracefulShutdown实现优雅停机依次清理定时器、自动化、Redis、事件与线程。这为server 为 builder 供数 提供数据/文件 API的 README 描述提供了直接的代码级佐证。社区与贡献README 邀请用户加入社区讨论提问、答疑与交流并强调 Budibase 重视多元、相互尊重的社区环境要求成员遵守行为准则对应仓库内 docs/CODE_OF_CONDUCT.md。在贡献方面从报告 bug 到修复代码均受欢迎若计划实现新功能或修改 API建议先创建 issue避免做无用功。贡献与本地环境配置说明见 docs/CONTRIBUTING.md其中也包含 Builder 升级后环境清理的 Troubleshooting 指引。小结Budibase 的定位可以概括为三个关键词low-code通过可视化 builder 与预置组件快速产出真实 SPA、自动化Webhook 触发、跨工具动作编排、AI 步骤与自托管优先Docker / Compose / K8s / DigitalOcean / Portainer 全覆盖。它既可作为带界面的低代码平台也可通过公开 API 充当业务后端仓库以 Lerna 单仓库组织 12 个 npm 包源码层面为 README 中的每一项能力声明都提供了可核对的实现路径。如果你想进一步深入建议从以下文件开始应用渲染原理看 packages/client数据集成看 packages/server/src/integrations自动化编排看 packages/server/src/automationsAPI 契约看 packages/server/specs/openapi.yaml部署编排看 hosting 与 charts/budibase。【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考