dagucloud/dagu
Self-hostable workflow orchestrator for teams whose main work isn't orchestration. Declarative YAML over your scripts, SSH commands, containers, etc; keep workflows separate from business logic. One binary, no database, runs on limited H/W resources. Alternative to Airflow / Cron / Job Scheduler.
解決的問題
Dagu 是為需要在不管理複雜平台的情況下編排現有腳本、容器和執行手冊的團隊設計的本地優先工作流引擎。它透過將工作流程結構視為設定而非程式碼,取代了不透明的 cron 作業以及 Airflow 或 Temporal 等重型編排器。這讓使用者無需修改底層腳本,即可為現有自動化加入排程、重試與可觀測性功能。
如何運作
使用者以宣告式 YAML 格式定義有向無環圖(DAG)。Dagu 以單一二進位檔分發,內含 Web UI、排程器與協調器。它支援三種部署模式:作為單一伺服器運行、使用暫時性工作器(例如透過 Kubernetes Jobs)、或作為分散式工作器透過 gRPC 輪詢協調器。它原生支援執行 shell 命令、Docker 容器、Kubernetes Jobs,以及透過 SSH 的遠端命令。
適用對象
適用於希望以最少設定與運維負擔,將現有腳本與執行手冊轉換為生產級工作流程的運維與內部自動化團隊。
特色亮點
- 單一二進位安裝:無需外部資料庫或訊息代理。
- 語言無關:無需腳本匯入框架,即可執行 shell 命令、Docker、K8s Jobs 與 SSH。
- 宣告式 YAML:工作流程結構、相依性與排程皆在 YAML 檔案中定義。
- 可觀測性:內建 Web UI 用於狀態追蹤、日誌與視覺化。
- 持久執行:支援重試、重疊策略與排程執行的補救視窗。
- 人工任務:可暫停工作流程以等待操作員確認或輸入。
- MCP Server:內建 Model Context Protocol 伺服器,可透過 AI 客戶端檢視與控制工作流程。
相關
- 專案
- 專案
- 專案
- 專案
- 專案