Budibase 自托管快速入门:Docker 四步部署与 Monorepo 仓库架构全解析
Budibase 自托管快速入门Docker 四步部署与 Monorepo 仓库架构全解析【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibaseBudibase 是一款开源的 Low-Code低代码平台允许开发者和 IT 人员在自己的基础设施上快速开发、自动化并部署内部工具。本文以仓库内德语版项目文档 i18n/README.de.md 为主体脉络完整还原其功能清单与两种快速开始路径并结合仓库中 CLI 自托管模块的真实源码深入讲解budi hosting各子命令背后的实现细节帮助读者在几分钟内完成本地部署并理解整个项目的模块划分。Budibase 是什么德语版 README 对 Budibase 的定位是一款开源的低代码平台quelloffene Low-Code Plattform面向开发者与 IT 专业人员使其能够在自有基础设施上开发、自动化并部署内部工具。官方口号是在几分钟内开发、自动化并部署内部工具Entwickle, automatisiere und stelle interne Tools in Minuten bereit。与在分钟级完成内部工具开发的承诺相对应的是 Budibase 典型的应用场景企业内部管理系统、审批流程、数据看板、运营后台等无需从零编写前端与后端即可交付。核心特性总览德语 README 用六个特性概括了 Budibase 的核心能力这也是理解整个项目架构的入口1. 开发真正的 Web 应用SPA与许多同类低代码平台不同Budibase 构建的是真正的单页应用Single-Page Application。构建出的应用默认具备高性能与响应式设计能提供良好的用户体验。2. 开源且可扩展Budibase 以GPL v3协议开源用户可以信赖其长期可用性同时平台面向开发者友好既可以扩展 Budibase也可以 fork 代码库进行自主修改。3. 多种数据源接入也可从零开始Budibase 支持接入多种数据源包括 MongoDB、CouchDB、PostgreSQL、MySQL、Airtable、S3、DynamoDB 以及 REST API同时允许完全不连接外部数据源直接使用内置数据库进行应用开发。4. 强大的组件化 UI 设计Budibase 内置了外观精美、能力强大的 UI 组件作为界面搭建的积木同时支持通过丰富的 CSS 样式自定义界面外观。仓库中 packages/bbuiBudibase UI 组件库即为此提供支撑包含 Table、Form、Modal、Drawer 等大量 Svelte 组件。5. 自动化流程与集成通过自动化功能节省手动流程的时间从接入 Web-Hook到自动发送电子邮件都可以在 Budibase 内完成。仓库中 packages/server/src/automations 与 packages/shared-core/src/automations 保存了自动化引擎的核心实现。6. 管理员友好Budibase 从设计之初就考虑到了横向扩展Skalierung可以在自有基础设施上托管并集中管理用户、Onboarding、SMTP、应用、用户组、UI 主题等还能为用户提供一个清晰的应用门户App-Portal并将用户管理权限下放给组管理员Groups-Manager。快速开始两条官方路径德语 README 明确指出当前有两种开始方式Digital Ocean与Docker。路径一Digital Ocean 一键部署最简单的快速上手方式是使用 Digital Ocean Marketplace 的 Budibase 应用通过1-Click Deploy直接创建一台预装 Budibase 的服务器。值得一提的是CLI 的初始化逻辑也针对 Digital Ocean 做了适配源码 packages/cli/src/hosting/init.ts 中会尝试从 Digital Ocean 的元数据地址169.254.169.254的 user-data 接口读取环境变量并注入部署配置。路径二Docker 四步部署核心Docker 方式需要预先在机器上安装docker与docker compose。安装完成后约 5 分钟即可完成以下 4 步第 1 步安装 Budibase CLI 工具$ npm i -g budibase/cliCLI 的入口源码位于 packages/cli/src/index.ts它基于commander构建命令体系注册了hosting、analytics、backups、plugins四组命令见 packages/cli/src/options.ts。第 2 步初始化安装选择目录与端口$ budi hosting --init--init命令实现见 packages/cli/src/hosting/init.ts会在当前目录中生成自托管所需的全部配置文件。执行时它会校验本机 Docker 是否已安装checkDockerConfigured见 packages/cli/src/hosting/utils.ts询问你希望 Budibase 运行的端口默认值为10000make函数会以该值写入配置见 packages/cli/src/hosting/makeFiles.ts下载生产环境的docker-compose.yaml与 LiteLLM 配置文件到当前目录生成.env文件其中包含系统级密钥通过randomstring自动随机生成包括环境变量用途API_ENCRYPTION_KEYAPI 数据加密密钥JWT_SECRETJWT 签名密钥MINIO_ACCESS_KEY/MINIO_SECRET_KEY内置对象存储 MinIO 的访问凭据REDIS_PASSWORDRedis 访问密码INTERNAL_API_KEY内部 API 调用密钥LITELLM_MASTER_KEY/LITELLM_SALT_KEY/LITELLM_DB_PASSWORDLLM 网关 LiteLLM 相关凭据COUCH_DB_USER/COUCH_DB_PASSWORDCouchDB 数据库账号密码默认用户为admin.env中还写入了各服务的内部端口正常情况下无需修改APP_PORT4002、WORKER_PORT4003、MINIO_PORT4004、COUCH_DB_PORT4005、REDIS_PORT6379、LITELLM_PORT4000以及BUDIBASE_ENVIRONMENTPRODUCTION。生成后的提示语明确说明请在 Builder 中使用主端口如localhost:10000作为自托管访问地址。--init还支持几个变体budi hosting --init quick跳过交互式确认使用默认配置端口10000快速生成budi hosting --init do面向 Digital Ocean 环境自动读取云元数据中的配置--single或budi hosting --init single生成单镜像部署budibase/budibase:latest挂载budibase_data数据卷端口映射${port}:80而非多服务 docker-compose 编排。第 3 步启动 Budibase$ budi hosting --start--start命令实现见 packages/cli/src/hosting/start.ts的执行流程是再次校验 Docker 已配置 → 检查初始化是否完成checkInitComplete会确认.env或docker-compose.yaml已存在→ 读取MAIN_PORT或 compose 中的端口→ 调用compose.upAll拉取镜像并启动全部服务首次启动需要几分钟下载镜像→ 询问是否打开http://localhost:端口并给出后续操作提示。第 4 步创建管理员用户启动完成后通过浏览器访问 Budibase 地址按提示输入管理员用户的邮箱与密码即可完成创建随后便可开始分钟级的内部工具开发。另外CLI 还提供--gen-user子命令见 packages/cli/src/hosting/genUser.ts可在首次启动时自动生成管理员账号它会向 compose 服务的环境中写入BB_ADMIN_USER_EMAIL与BB_ADMIN_USER_PASSWORD未指定密码时随机生成 12 位便于脚本化、无人值守部署。日常运维其余 hosting 子命令hosting命令组命令注册见 packages/cli/src/hosting/index.ts还包含日常运维所需的能力budi hosting --status查看当前正在运行的 Budibase 服务状态见 packages/cli/src/hosting/status.tsbudi hosting --stop停止当前目录配置的平台budi hosting --update将 Budibase 镜像更新到最新版本见 packages/cli/src/hosting/update.ts。多服务部署时它会按app-service、worker-service、proxy-service、couchdb-service、litellm-service依次拉取最新镜像并保留当前 MinIO 镜像版本单镜像部署则只更新budibase服务。若更新前服务正在运行会自动先停止再更新、更新后重启budi hosting --watch-plugin-dir [directory]为 Budibase 安装添加插件目录监听便于本地插件开发调试。Monorepo 仓库结构德语 README 明确说明Budibase 是一个由Lerna管理的 MonorepoLerna 负责 Budibase 各包packages的构建与发布。仓库根目录同时存在 lerna.json 与 nx.json 作为构建编排配置。文档中概括了三个核心模块packages/builder客户端侧的 Budibase Builder用于创建应用的构建器前端Svelte 技术栈packages/client运行在浏览器中的模块能够从 JSON 定义生成可用的 Web 应用即应用运行时引擎packages/serverBudibase 服务端一个 Koa 应用。它为 Builder 与 Client 提供 JavaScript 代码并提供与 Budibase 后端、数据库和文件系统交互的 API。从当前仓库目录结构看Monorepo 还包含worker用户/租户等平台级服务、backend-core、shared-core、types、bbuiUI 组件库、string-templates、cli等更多包以及 hosting 目录下的容器化与部署辅助文件如开发环境编排 hosting/docker-compose.dev.yaml。整体呈现前端 Builder 浏览器运行时 服务端 平台 Worker的经典分层。许可协议Budibase 主体以GPL v3开源客户端与组件库则采用MPL许可以便你将自己构建的应用置于任意偏好的许可证下发布。社区、行为准则与贡献Budibase 通过 GitHub Discussions 维护社区问答与用户交流。项目倡导友好、多元、免受骚扰的社区氛围要求所有参与者遵守其《行为准则》对应文档见 docs/CODE_OF_CONDUCT.md。对贡献者而言无论提交 Bug 报告还是创建 Pull Request每一份贡献都受到欢迎。README 特别提醒若计划实现新功能或修改 API请先创建 Issue以避免做无用功。仓库的贡献指南见 docs/CONTRIBUTING.md。小结综合来看德语 README 用简明的方式勾勒出 Budibase 的完整面貌真正的 SPA 应用开发、开源可扩展、多数据源接入、组件化 UI、流程自动化与管理员友好的自托管体验。而结合 packages/cli/src/hosting 目录下的源码可以看到官方主推的 Docker 快速开始路径背后有一套设计完整的 CLI 工程初始化时自动生成随机密钥与端口配置、启动时校验环境并编排多服务、更新时按服务粒度拉取镜像。对于希望在自己的服务器上快速搭建内部工具平台的团队而言npm i -g budibase/cli之后的三条命令--init、--start、浏览器创建管理员即可完成从零到可用的全部过程。【免费下载链接】budibaseAI agents, automations and apps that run your operations. Model agnostic.项目地址: https://gitcode.com/GitHub_Trending/bu/budibase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考