
Budibase 开源低代码平台在自有设施上构建、自动化与交付业务应用的完整指南【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibaseBudibase 是一个开放源代码的低代码平台帮助开发人员和 IT 专业人员在几分钟内于自有设施self-hosted上构建、自动化和交付定制业务应用。本文以官方中文 README 为骨架结合仓库源码monorepo 包结构、数据源集成、自动化引擎与部署配置深入讲解其核心功能、入门流程、架构原理与自托管方案读完即可掌握从零搭建 Budibase、连接数据源、编排自动化并部署到自有环境的技术路径。Budibase 是什么定位与设计理念Budibase 的定位是在您自己的设施上快速构建应用。它选择了一条与主流低代码平台截然不同的路线当其他平台选择闭源路线时Budibase 决定采用开放源代码当其他平台选择云服务时Budibase 决定提供本地构建器以带来更好的开发体验。从当前仓库的 README.md 可以看到项目已进一步演进为AI agents that run your operations——一个开放的运维平台operations platform用于构建 Agents智能代理、Apps应用与 Automations自动化并且保持模型无关Model agnostic的特性。但无论产品叙事如何演进其核心承诺始终一致作为开源项目用户可以完全掌控自己的数据与应用交付方式。核心功能矩阵中文 README 系统性地列出了 Budibase 的五大核心能力以下逐项展开并给出仓库源码佐证。构建并发布真实的软件单页应用与其他低代码平台不同使用 Budibase 可以构建并交付真正的单页应用程序SPA。Budibase 应用具有增强的性能并且可以进行响应式设计从而为最终用户提供出色的体验。从源码结构看这一能力由 packages/client 承担——它是在浏览器中运行的模块负责读取 JSON 定义并从中创建生动、可用的 Web 应用对应中文 README 对 client 包的描述。构建端则由 packages/builder 提供 Svelte 编写的构建器客户端应用。开源且可扩展Budibase 是开源的。中文 README 记录了当时的许可划分Builder 使用 AGPLv3 许可Server 使用 GPLv3Client 使用 MPL这让使用者有信心Budibase 将永远存在同时也可以针对 Budibase 进行修改、分叉并按需更改。需要说明的是当前仓库主 README.md 的许可描述已更新为核心开源许可为GPL v3客户端与组件库采用MPL意味着你构建的应用可以按任何你喜欢的许可发布付费功能则采用Business Source License详见 packages/pro/license.md。以仓库当前实际内容为准。连接数据库或直接开始Budibase 从多个数据源提取数据包括MongoDB、CouchDB、PostgreSQL、MySQL、Airtable、Google Sheets、S3、DynamoDB 和 REST API同时与其他平台不同Budibase 允许你从头开始创建没有数据源的业务应用。这一能力在源码中有完整的落地实现packages/server/src/integrations 目录集中管理了全部数据源插件从 index.ts 的注册表可以看到内置数据源包括数据源实现文件PostgreSQLpostgres.tsDynamoDBdynamodb.tsMongoDBmongodb.tsElasticsearchelasticsearch.tsCouchDBcouchdb.tsSQL ServermicrosoftSqlServer.tsS3s3.tsAirtableairtable.tsMySQLmysql.tsArangoDBarangodb.tsRESTrest.tsGoogle Sheetsgooglesheets.tsFirebase (Firestore)firebase.tsRedisredis.tsSnowflakesnowflake.tsOracleoracle.ts同时packages/server/src/integrations/base 提供了集成基类统一的schema定义如postgres.schema让每种数据源都能以标准化的方式暴露给构建器与查询引擎这也是 Budibase 能够开箱即用地连接多种来源的底层机制。使用强大的预制组件设计和构建应用程序Budibase 开箱即用提供精美设计、功能强大的组件用户可以像搭建积木一样用它们构建 UI同时提供大量 CSS 样式选项以支持更多创意。对应地packages/bbui 是 Budibase 自研的 Svelte 组件库包含了从Button、Input、Table、Form、Modal、Drawer、Notification、TreeView到ColorPicker、IconPicker、PhosphorIconPicker等数十个基础组件packages/client/src/components 则包含 150 个运行时渲染组件负责把构建器生成的 JSON 定义渲染为真实可交互的页面元素。自动化流程、集成其他工具并连接 Webhooks通过自动化手动流程和工作流来节省时间从连接 Webhook到自动发送电子邮件只需告诉 Budibase 要做什么然后让它为你工作。自动化引擎在 packages/server/src/automations 中实现关键模块包括triggers.ts定义触发器如行操作、行保存、行更新、行删除等从 triggers.ts#L38 可见触发器定义统一来自budibase/shared-core的automations.triggers.definitionsactions.ts 与 steps实现具体动作步骤bullboard.ts基于Bull 队列仓库根 package.json 中依赖bull管理自动化任务的排队与执行JOB_OPTS配置了任务完成后自动清理。自动化编排能力在 Helm Chart 中也有体现charts/budibase/values.yaml 中automationMaxIterations参数默认200用于限制自动化循环步骤的最大迭代次数防止失控循环。云托管与自我托管用户既可以自行托管见下文自托管章节也可以使用 Budibase 官方云托管其应用。中文 README 特别说明对于大量使用场景官方推荐用户进行自我托管。Budibase 快速入门流程Budibase 构建器在Mac、PC 和 Linux 上的 Electron中运行。按照以下步骤即可开始注册 Budibase 账号创建用户名和密码复制您的 API 密钥下载 Budibase构建器客户端打开 Budibase 并输入您的 API 密钥。API 密钥机制是 Budibase 构建器与后端服务通信的凭证构建器packages/builder通过 API 密钥与 server 交互从而获取、创建和发布应用。在自托管场景下相关密钥如内部 API 密钥internalApiKey、JWT 签名密钥jwtSecret、加密密钥apiEncryptionKey可以在 charts/budibase/values.yaml 的globals段中配置或通过createSecrets: true由 Helm Chart 自动生成并存入 KubernetesSecret。源码级架构Lerna 管理的 MonorepoBudibase 是由 Lerna 管理的 monorepo 项目见 lerna.json采用independent版本模式、yarn 作为包管理器。Lerna 管理 budibase 各软件包的构建与发布。在较高层次上构成 Budibase 的核心软件包包括packages/builderBudibase 构建器客户端 Svelte 应用可视化设计界面即本地构建器packages/client在浏览器中运行的模块负责读取 JSON 定义并从中创建生动、可用的 Web 应用即最终用户看到的运行时packages/serverBudibase 服务器。这是一个Koa 应用packages/server/package.json 中依赖koa负责为构建器和 Budibase 应用提供 JS 服务并提供与数据库和文件系统交互的 API。除这三个核心包外仓库还包含packages/worker用户/认证/组织管理等后台服务、packages/backend-core后端公共核心库认证、数据库、事件、对象存储、租户、队列等、packages/shared-core前后端共享的自动化定义、过滤器、登录逻辑等、packages/string-templatesHandlebars 模板与 JS 表达式处理、packages/types全局 TypeScript 类型、packages/bbuiSvelte 组件库、packages/pro付费/企业功能、packages/cli命令行工具以及 packages/sdk、packages/frontend-core 等。从根 package.json 的脚本可以看出项目的工程化实践yarn setup初始化子模块、执行 hosting/scripts/setup.js、安装依赖并构建yarn dev启动完整开发环境构建器、server、worker 等并行yarn build通过 Lerna 流式构建所有包yarn test/yarn lint全仓库测试与代码规范检查。自托管部署指南Budibase 希望确保任何人都可以使用其工具并深知很多人需要在自己的系统上托管他们制作的应用程序——这正是自托管服务被设计得如此简单的原因。目前支持通过Docker或Digital Ocean托管应用仓库中还提供了完整的 KubernetesHelm支持。Docker 单镜像部署仓库提供了将全部组件打进单个 Docker 镜像的方案适合单机部署核心构建文件为 hosting/single/Dockerfile其要点包括基于budibase/database:2.1.0基础镜像内置 CouchDB Clouseau 全文搜索运行层安装 nginx、redis-server、minio、LiteLLMAI 网关Python 虚拟环境安装litellm[proxy]使用pm2在单个容器内运行多个 Node 进程server worker内置 nginx 反向代理配置见 hosting/single/nginx与 MinIO 对象存储安装脚本 scripts/install-minio.sh通过TARGETBUILD构建参数适配单镜像single与 Azure App Serviceaas场景暴露 80/443Web、4000LiteLLM 配置面板、2222Azure SSH端口数据卷挂载于/data自带健康检查hosting/single/healthcheck.sh与 runner 启动脚本hosting/single/runner.sh。多架构构建命令来自根 package.jsondocker buildx build --platform linux/arm64,linux/amd64 -f hosting/single/Dockerfile -t budibase:latest .Docker Compose 部署开发/自托管环境可以使用 hosting/docker-compose.dev.yaml 编排的完整服务栈其服务拓扑为服务镜像职责proxy-servicebudibase/proxynginx 反向代理对外暴露 10000 端口couchdb-servicebudibase/database:2.1.0主数据库5984 端口 4984 SQS 端口minio-serviceminio/minioS3 兼容对象存储9000/9001redis-serviceredis队列与缓存6379litellm-servicelitellm/litellmAI 模型网关4000配置见 hosting/litellm_config.yamllitellm-dbpostgres:16LiteLLM 代理的元数据存储所有服务的敏感配置COUCH_DB_USER、COUCH_DB_PASSWORD、REDIS_PASSWORD、MINIO_ACCESS_KEY等均通过.env环境变量注入各服务都配置了健康检查以保证启动顺序。KubernetesHelm Chart部署仓库在 charts/budibase 提供了完整的 Helm Chart含 values.yaml、各服务的 Deployment/Service/HPA/PDB 模板及 测试用例。关键配置点包括服务拆分proxynginx默认 2 副本、apps应用服务端口 4002、automationWorkers自动化 worker可禁用禁用后自动化由 apps 服务处理、worker后台服务端口 4003、couchdb、redis、litellm、objectStore默认内置 MinIO也可切换为外部 S3高可用默认podDisruptionBudget.enabled: true各服务支持 HPAautoscaling与滚动更新策略maxUnavailable: 0实现零停机发布安全globals.createSecrets自动生成内部 API 密钥、JWT 密钥、对象存储访问密钥支持 SMTPglobals.smtp、Google OAuthglobals.google、Cookie 域cookieDomain、平台 URLplatformUrl等配置AI 网关services.litellm.enabled控制是否部署 LiteLLMbbaiKey为 Agent 使用的虚拟密钥默认内联配置启用了数据库代理模式store_model_in_db: true。Digital Ocean 一键部署中文 README 提供了 Digital Ocean Marketplace 一键部署入口仓库中 hosting/digitalocean 目录包含对应的镜像构建模板template.json与系统配置脚本适合希望在 DO Droplet 上快速起服务的用户。项目状态与路线图中文 README 记录了 Budibase 的公开状态演进轨迹✅ Alpha正在将 Budibase 演示给用户并接收反馈✅ 内部测试与一组封闭客户一起测试✅ 公开测试任何人都可以注册并使用⬜ 正式发布尚未完成。官方同时维护公共路线图供社区讨论任何功能需求都可以通过讨论区提出。值得注意的是从当前 README.md 看产品重心已演进至 AI Agents 自动化 应用的一体化运维平台并且仍然保持开源与模型无关Model agnostic的路线。社区与贡献指南行为准则Budibase 致力于为每个人提供热情、多样且无烦恼的体验社区成员需遵守 docs/CODE_OF_CONDUCT.md贡献方式从错误报告到 PR 请求每一个贡献都受欢迎如果计划实现新功能或更改 API请先创建 Issue以确保工作不会白费不知道从何开始时可以从good first issue适合新手的首个 Issue入手环境准备完整的环境搭建说明见 docs/CONTRIBUTING.md问题排查如果在两个版本之间遇到问题可以参考 docs/CONTRIBUTING.md 中关于清理环境Troubleshooting的指引。小结Budibase 的价值主张可以概括为三句话开放源代码让你拥有平台本身本地构建器 多种数据源 预制组件让你在几分钟内构建真实可用的单页业务应用自动化引擎 自托管Docker / Compose / K8s / Digital Ocean让你把应用与流程完全掌控在自己手中。无论你是想快速交付内部业务系统还是希望以开源方式搭建可持续演进的应用平台Budibase 都提供了从入门到生产部署的完整路径——本文所述的每个功能点都可以在仓库源码packages/server、packages/builder、packages/client与部署配置hosting、charts/budibase中找到对应的实现依据。【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考