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は、既存のスクリプト、コンテナ、ランブックを複雑なプラットフォームを管理する負荷なしにオーケストレーションする必要があるチーム向けに設計されたローカルファーストのワークフローエンジンです。Daguは、ワークフロー構造をコードではなく設定として扱うことで、AirflowやTemporalのような重いオーケストレータや不透明なcronジョブを置き換えます。これにより、下位のスクリプトを変更せずに、スケジューリング、リトライ、監視機能を既存の自動化に追加できます。

動作方法

ユーザーは宣言的YAML形式で有向非巡回グラフ(DAG)を定義します。DaguはWeb UI、スケジューラ、コアレーターを含む単一バイナリとして配布されます。3つのデプロイメントモデルで動作可能:単一サーバー、一時的なワーカー(例:Kubernetes Jobs経由)、gRPC経由でコアレーターをポーリングする分散ワーカー。ネイティブでシェルコマンド、Dockerコンテナ、Kubernetes Jobs、SSH経由のリモートコマンドの実行をサポートしています。

対象ユーザー

既存のスクリプトやランブックを最小限のセットアップと運用負荷でプロダクションワークフローに変換したい運用チームや内部自動化チーム向けです。

特徴

  • 単一バイナリインストール:外部データベースやメッセージブローカーは不要。
  • 言語非依存:フレームワークをインポートする必要なく、シェルコマンド、Docker、K8s Jobs、SSHを実行可能。
  • 宣言的YAML:ワークフロー構造、依存関係、スケジュールをYAMLファイルで定義。
  • 可視性:ステータス追跡、ログ、可視化に対応する組み込みWeb UI。
  • 耐久性のある実行:リトライ、重複ポリシー、スケジュール実行のキャッチアップウィンドウをサポート。
  • 人間のタスク:オペレーターの承認や入力を待ってワークフローを一時停止可能。
  • MCP Server:AIクライアントからワークフローを検査・制御できる組み込みModel Context Protocolサーバー。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト