Budibase 开源低代码平台:意大利语 README 深度解读与源码级实践指南
【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase
本指南以 Budibase 开源仓库中的
i18n/README.it.md(项目意大利语版 README)为骨架,系统梳理 Budibase 的定位、核心功能、自托管部署方式与 monorepo 源码结构,并结合仓库内真实源码与配置文件,为你还原"用低代码平台搭建内部工具"的完整技术路径。读完本文,你将掌握 Budibase 的构建-部署-扩展全链路认知,并能在自己的基础设施上通过 Docker、Kubernetes 或 Digital Ocean 快速落地。
Budibase 是什么:面向运营场景的开源低代码平台
Budibase 是一款开源(GPL v3 许可)的低代码平台,其意大利语 README 中的定位是"La piattaforma low-code che amerai utilizzare"(你会爱上使用的低代码平台),核心价值在于用最简单的方式创建提升生产力的内部工具(internal tools)。它不是一个只能做 CRUD 演示的玩具框架,而是一个覆盖"构建 → 自动化 → 部署 → 运维"完整生命周期的运营平台。
从仓库根目录的README.md可以看到,项目现在的主标语是 "AI Agents that run your operations",即把 AI Agent、应用(Apps)与自动化(Automations)统一在一个平台上,让工程师能"节省数百小时"来构建安全地运行在私有基础设施上的内部系统。仓库主目录的package.json声明了 Node.js 版本要求为>=22.18.0 <23.0.0,采用 Yarn workspaces + Lerna 管理多包构建与发布(详见根目录lerna.json,使用"npmClient": "yarn"与独立版本策略)。
与同类平台的本质差异:可构建、可部署"真实软件"
意大利语 README 在"✨ Funzionalità"(功能)一节首先强调:与大多数低代码平台不同,Budibase 允许你构建并部署真正的单页应用(one-page applications)。这些应用:
- 高性能:应用运行时在浏览器端直接执行;
- 响应式设计:可适配不同屏幕尺寸,为终端用户提供一致的体验;
- 完全自托管:数据与应用运行在你自己控制的设施内。
这一点与 README 中 "Deploy with confidence and security"(自信且安全地部署)的描述相呼应——Budibase 被设计为可以随业务增长而扩展("Budibase è progettato per crescere"),支持全局管理用户、首页、SMTP、应用、分组、主题外观等,还可以把用户管理权限下放给群组管理员。
五大核心能力:从数据接入到运维管控
1. 开源且可扩展(Sorgente aperto ed estensibile)
Budibase 采用GPL v3许可,这意味着你可以自由 fork 并按需修改。需要特别注意的是其双许可策略:客户端与组件库以MPL许可发布,因此"你基于 Budibase 构建的应用可以按你自己的意愿选择任何许可";而付费(Pro)功能则在packages/pro/license.md中以 Business Source License 授权。这一设计让"平台本身开源"与"业务应用完全自主"两者兼容。
2. 多源数据接入:导入数据或从零开始
意大利语 README 明确列出了 Budibase 支持的数据源:MongoDB、CouchDB、PostgreSQL、MySQL、Airtable、S3、DynamoDB 以及 REST API。与同类平台不同,Budibase 也允许你完全不接任何数据源,从零开始构建企业应用。
这一点在源码中得到完整印证:packages/server/src/integrations/目录下即为每个数据源的真实驱动实现,包括airtable.ts、mongodb.ts、mysql.ts、postgres.ts、couchdb.ts、dynamodb.ts、s3.ts、rest.ts、snowflake.ts、oracle.ts、arangodb.ts、googlesheets.ts、elasticsearch.ts、firebase.ts、microsoftSqlServer.ts与redis.ts等;服务端依赖中同样可见airtable、arangojs、@aws-sdk/client-dynamodb、@aws-sdk/client-s3等驱动包(见packages/server/package.json)。README 中还提供了"请求新增数据源"的社区渠道(GitHub Discussions 的 Ideas 分类),说明该清单处于持续扩展状态。
3. 预置组件驱动 UI 构建(Progetta e crea applicazioni utilizzando componenti predefiniti)
Budibase 内置"美观且强大"的预置组件,作为搭建 UI 的积木;同时暴露了大量常用的 CSS 样式选项,支持更高自由度的创意表达。对应的组件体系分散在多个包中:
packages/bbui/src提供基础 UI 组件库(Button、Form、Table、Modal、Drawer、Tooltip、TreeView、Pagination 等数十个 Svelte 组件);packages/builder/src/components是构建器界面自身的组件实现;packages/client/src/components则是运行时(runtime)组件,负责把 JSON 定义渲染成真实页面。
4. 自动化与外部工具集成(Automatizza processi, integra altri strumenti e collegati a webhook)
自动化是 Budibase 的一大亮点:无论是连接 webhook 还是自动发送邮件,都可以"告诉 Budibase 要做什么,然后让它替你干活"。仓库中的自动化引擎位于packages/server/src/automations,其步骤(steps)覆盖了非常广的业务场景,例如:
- 数据操作:
createRow.ts、updateRow.ts、deleteRow.ts、getRow.ts、queryRows.ts、executeQuery.ts; - 流程控制:
filter.ts、delay.ts、collect.ts、extractState.ts; - 外部集成:
outgoingWebhook.ts、slack.ts、discord.ts、sendSmtpEmail.ts、apiRequest.ts,以及针对Make(make.ts)、Zapier(zapier.ts)、n8n(n8n.ts)的专属步骤; - 脚本与 AI:
executeScript.ts/executeScriptV2.ts、bash.ts、ai/与openai.ts; - 触发器定义集中在
triggers.ts,支持行级事件(ROW_SAVED / ROW_UPDATED / ROW_DELETED / ROW_ACTION)等触发源。
自动化触发与 webhook 的关联在测试中也有体现,例如packages/server/src/automations/tests/triggers/webhook.spec.ts验证了 webhook 触发链路,tests/steps/下则针对 Slack、Discord、出站 Webhook、Zapier、n8n、Make 等步骤提供了单测。
5. 管理员的天堂(Paradiso degli amministratori)
自托管部署后,管理员可以在自己的基础设施上统一管理:用户、首页(home)、SMTP、应用、群组、外观主题等;还可以为用户/群组提供应用门户(portal),并将用户管理下放给群组管理员。README 同时附带了一段官方介绍视频链接(https://youtu.be/xoljVpty_Kw),用于快速了解平台整体能力。
快速开始:自托管部署路径
意大利语 README 的 "🏁 Inizio"(开始)一节给出了两条入口:
- 自托管(self-hosted):使用Docker、Kubernetes 或 Digital Ocean部署到现有基础设施;
- Budibase Cloud:若无需自托管、希望快速上手,可直接使用官方托管的云版本。
根目录README.md进一步列出了各类自托管方式的官方指引(Docker 单镜像、Docker Compose、Kubernetes、Digital Ocean、Portainer)。就本仓库而言,你可以直接在仓库内找到对应的部署资产:
Docker Compose 部署
仓库根目录hosting/docker-compose.yaml提供了完整的编排定义,核心服务包括:
| 服务 | 镜像 | 职责 |
|---|---|---|
app-service | budibase/apps | 应用服务(端口 4002),提供构建器与运行 API |
worker-service | budibase/worker | 后台工作服务(端口 4003),处理认证、任务等 |
proxy-service | budibase/proxy | Nginx 反向代理(暴露${MAIN_PORT}→ 10000),并做限流 |
couchdb-service | budibase/database:2.1.0 | 底层数据库(CouchDB),数据卷couchdb3_data |
minio-service | minio/minio | S3 兼容对象存储,数据卷minio_data |
该编排同时依赖 Redis(redis-service)与 LiteLLM(litellm-service)作为支撑服务。关键的运行参数以环境变量注入,例如:
COUCH_DB_URL/COUCH_DB_USER/COUCH_DB_PASSWORD:CouchDB 连接配置;MINIO_ACCESS_KEY/MINIO_SECRET_KEY:对象存储凭证;API_ENCRYPTION_KEY/JWT_SECRET:加密与鉴权密钥;INTERNAL_API_KEY:服务间内部通信密钥;BB_ADMIN_USER_EMAIL/BB_ADMIN_USER_PASSWORD:初始管理员账号;PASSWORD_MIN_LENGTH(默认 12)/PASSWORD_MAX_LENGTH(默认 512)/PASSWORD_REGEX:平台密码策略;LITELLM_URL/LITELLM_MASTER_KEY:AI 网关配置;OFFLINE_MODE:离线模式开关;MAIN_PORT:对外暴露的访问端口。
值得注意的是,proxy-service还内置了限流配置:PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10(webhook 每秒 10 次)与PROXY_RATE_LIMIT_API_PER_SECOND=50(API 每秒 50 次),生产环境可按需调整。
容器化运行入口
- 单镜像构建:根目录
package.json提供build:docker:single:multiarch(docker buildx build --platform linux/arm64,linux/amd64,基于hosting/single/Dockerfile)与build:docker:single脚本,说明官方镜像同时支持 ARM64 与 AMD64; - 开发编排:开发环境可参考
hosting/docker-compose.dev.yaml; - Kubernetes/Helm:仓库
charts/budibase目录提供了完整的 Helm Chart(含values.yaml、CouchDB 子 Chart 及 app-service / worker-service / proxy-service / litellm 等模板),可一键部署到 K8s 集群。
从源码启动开发环境
如果你希望在本地源码环境开发或二次定制,根目录package.json给出了标准流程:yarn setup负责拉取子模块并安装依赖,随后yarn dev会并行启动各包(builder、server、worker 等)的开发模式;yarn test则通过 Lerna 串行运行所有包的测试。
源码结构:Lerna monorepo 三大核心包
意大利语 README 在"🙌 Contribuire a Budibase"一节专门说明了仓库的组织方式:Budibase 是一个由 Lerna 管理的 monorepo,Lerna 负责各包的构建与发布。README 重点介绍了三个核心包:
| 包 | 位置 | 职责 |
|---|---|---|
| builder | packages/builder | 构建器客户端 Svelte 应用,即可视化设计界面(基于 Vite + Routify + Svelte,见packages/builder/package.json) |
| client | packages/client | 运行在浏览器中的模块,负责读取 JSON 定义并将其渲染成"活的" Web 应用 |
| server | packages/server | Budibase 服务端(Koa 应用),负责为 builder 与应用提供 JS 资源,并提供与数据库、文件系统交互的 API |
从源码看,当前 monorepo 已远不止这三包,还包括worker(后台服务)、backend-core(后端公共能力:db、auth、middleware、objectStore、redis、events 等)、shared-core(跨端共享的 automations 定义、过滤器、密码策略等)、bbui(UI 组件库)、frontend-core(前端公共能力)、string-templates(Handlebars 字符串模板引擎)、types(TypeScript 类型定义)、sdk(JavaScript SDK)以及cli(命令行工具)等,共同构成完整的平台底座。
社区、贡献与许可
- 社区:问题与交流集中在 GitHub Discussions;贡献者可以通过提交 Issue(尤其是新功能或 API 变更前先建 Issue)与 Pull Request 参与开发。README 推荐从"进行中的项目"看板入手,寻找适合自己的起点。
- 行为准则:Budibase 承诺为所有人提供友好、多元、无骚扰的社区环境,遵守 Contributor Covenant 2.0 准则(仓库根目录
docs/CODE_OF_CONDUCT.md为完整文本)。 - 贡献指南:完整的开发环境搭建、测试与 troubleshooting 指引见
docs/CONTRIBUTING.md。 - 许可:平台本体为 GPL v3;客户端与组件库为 MPL(保证你构建的应用可自由选择许可);Pro 付费功能为 Business Source License(见
packages/pro/license.md)。
总结:从意大利语 README 到平台全貌
i18n/README.it.md虽然只是主 README 的意大利语翻译版本,但它完整承载了 Budibase 的核心技术叙事:一个可自托管、可扩展、覆盖数据接入-UI 构建-自动化编排-运维管控全流程的开源低代码运营平台。配合仓库源码,你可以进一步验证每个宣称的能力——数据源驱动在packages/server/src/integrations,自动化步骤在packages/server/src/automations/steps,部署编排在hosting/docker-compose.yaml与charts/budibase,前端生态则在packages/builder、packages/client、packages/bbui中层层展开。无论你是想快速交付内部工具的业务团队,还是希望深度定制、贡献代码的开发者,Budibase 都提供了从"开箱即用"到"源码级掌控"的完整阶梯。
【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考