n8n の代替
開発者のためのコードファーストな n8n 代替。
Dagu は、自動化をビジュアルキャンバスで配線するより、バージョン管理された YAML として定義したいチームのためのセルフホスト型 n8n 代替です。スケジュール、リトライ、ログ、Web UI を単一バイナリで提供します。
# signup-alerts.yaml
schedule: "*/10 * * * *"
steps:
- id: fetch
run: curl -fsS https://api.internal/signups?since=10m
output: SIGNUPS
- id: filter
run: echo '${SIGNUPS}' | jq '[.[] | select(.plan == "team")]'
output: TEAM_SIGNUPS
depends: [fetch]
- id: notify
run: ./scripts/post-to-slack.sh '${TEAM_SIGNUPS}'
depends: [filter]
実行順序
ビジュアルキャンバスではなくバージョン管理された YAML でワークフローを記述
セルフホストの単一バイナリ。運用する DB や Node ランタイムは不要
シェル、Docker、HTTP、SSH、AI エージェントのステップを実行
スケジュール、リトライ、ログ、Web UI を標準搭載
一目で比較
n8n と Dagu
git で編集・レビューするバージョン管理された YAML。
ブラウザ UI で設定するビジュアルノードキャンバス。
ローカルファイルを使う単一バイナリ。DB 不要。
セルフホストには常駐サービスと DB が必要。
コードファーストなスクリプト、運用ジョブ、パイプライン、AI エージェントワークフロー。
ノーコードの SaaS アプリ連携とビジュアル自動化。
詳細
それぞれの強みと向き不向き
キャンバスではなくコードで自動化したいとき
ビジュアルノードエディタは、SaaS アプリを手作業でつなぐ用途には向いています。コードファーストなチームが求めるのはたいてい逆で、git で管理でき、レビューで差分がきれいに出て、すでに持っているスクリプトやバイナリをそのまま動かせる自動化です。
- すべてのステップを YAML で定義し、バージョン管理下に置ける
- 自動化の変更を通常の pull request でレビューできる
- チームがすでに使っているコマンド、スクリプト、コンテナを実行できる
セルフホストする対象が小さい
ノードベースの自動化プラットフォームをセルフホストすると、サービスに加えて DB を動かし、その両方を健全に保つ必要が出てきます。Dagu はローカルファイルに支えられた単一バイナリなので、運用面の表面積を小さく保てます。
- ローカルファイルストレージを持つ単一バイナリ。外部 DB やブローカー不要
- 1 台のホストで始め、必要になったらキュー実行や分散 worker へ移行
- アップグレードとバックアップをシンプルに保てる
スクリプト、運用、AI エージェントのための設計
Dagu が狙うのは、定期ジョブ、パイプライン、runbook、エージェントタスクといった開発・運用の自動化であり、ノーコードの SaaS 連携ではありません。
- シェル、Docker、HTTP、SSH、SubDAG、エージェントステップ向けの executor
- 依存関係、リトライ、タイムアウト、ログ、実行履歴を標準で提供
- Claude、Codex などの外部エージェント CLI をワークフローステップ内で実行
FAQ
Dagu を導入する前によくある質問
Dagu は n8n のドロップイン代替ですか?
いいえ。n8n は SaaS アプリをコードなしでつなぐビジュアルなノードベースのツールです。Dagu はコードファーストなオーケストレーターで、スクリプト、コンテナ、cron、エージェントのためにバージョン管理された YAML と単一のセルフホスト型バイナリが欲しいときに向きます。ドラッグ&ドロップのビルダーではなく、SaaS コネクタのマーケットプレイスもありません。
Dagu にビジュアルエディタはありますか?
Dagu はワークフローの実行、確認、監視のための Web UI を備えていますが、ワークフローはキャンバスに描くのではなく YAML で記述します。UI はワークフローを構築するためではなく、運用するためのものです。
Dagu は n8n のように API や webhook を呼び出せますか?
はい。Dagu は HTTP リクエストを送り、スケジュールで実行し、コマンドからステップをトリガーできるため、API 呼び出しや webhook 的なフローは可能です。ただし n8n のように何百もの構築済み SaaS 連携を同梱しているわけではありません。それらは HTTP と CLI のステップで組み立てます。
次の一歩
まず 1 つのワークフローから。
Dagu をインストールし、不安定なスクリプトやエージェントタスクを 1 つ YAML に移して、実際の実行履歴を見て判断できます。