
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),僅供參考