システム要件
Dagu は 1 つのバイナリです。データベース、メッセージブローカー、言語ランタイムは必要ありません。
プラットフォーム
Dagu の自動テストは、変更のたびに Linux x86-64 と Windows x86-64 で実行されます。その他のビルドは、リリースごとに同じソースからコンパイルされますが、自動テストは実行されません。
| オペレーティングシステム | ビルド | 変更ごとのテスト対象 |
|---|---|---|
| Linux | amd64, 386, arm64, armv6, armv7, ppc64le, s390x | amd64 |
| Windows | amd64, 386, arm64 | amd64 |
| macOS | amd64, arm64 | なし |
| 実行方法 | サポート対象のバージョン |
|---|---|
| コンテナイメージ | linux/amd64、linux/arm64、linux/arm/v7。Docker イメージを参照してください。 |
| Kubernetes(Helm チャートを使用) | Kubernetes 1.19 以降 |
ステップタイプによっては、専用のソフトウェアが必要です。たとえば、Docker ステップには Docker デーモンが必要です。
ネットワークポート
すべてのポートは変更可能で、すべて Dagu ホストへのインバウンドです。
| ポート | 用途 | 必要な場合 |
|---|---|---|
| 8080 | Web UI と API | dagu server と dagu start-all では常に必要 |
| 8090 | スケジューラのヘルスエンドポイント | dagu scheduler をプローブする場合 |
| 50055 | コーディネーター | 分散ワーカーを使用する場合 |
アウトバウンド接続については、ファイアウォールの表を参照してください。ワークフローのスケジュールと実行には、アウトバウンド接続は必要ありません。
ストレージ
ローカルファイルシステムを使用してください。スタンバイのスケジューラを使用する場合は NFS を使用してください。
共有ボリュームには多数の小さなファイルが保存されます。バイト数だけでなく、inode の使用量も考慮して計画してください。
サイジング
以下の数値は、1 台のマシン(14 コア、メモリ 48 GB の Apple シリコン搭載 Mac)で、2.26.0 より後の Dagu のビルドを使って測定したものです。これらは出発点となる値です。サイズを確定する前に、お客様のワークロードで測定してください。
| 測定項目 | 結果 |
|---|---|
アイドル時の dagu start-all | メモリ約 90 MB から 110 MB(RSS) |
25 件の実行がアクティブな間の dagu start-all | 91 MB |
| 実行中の各 DAG 実行(それぞれ独立したプロセス) | 約 78 MB(RSS) |
| 実行 1 件あたりのディスク使用量(ステップ 2 つ、各ステップの出力 1 行) | 約 42 KB、7 ファイル |
RSS にはプロセス間で共有されるメモリが含まれます。そのため、実行ごとの RSS を合計すると、実際の総量より大きな値になります。
これらの値を基に見積もります。
- メモリ: 150 MB に、ピーク時に同時実行される DAG 実行 1 件につき 80 MB を加え、さらにステップが使用するメモリを加えます。
- CPU: Dagu 自体がボトルネックになることはほとんどありません。ステップに合わせてサイジングしてください。
- ディスク:
hist_retention_daysによって保持される期間分のステップ出力のサイズに、アーティファクトと、保持する実行 1 件につき約 7 ファイルを加えます。

