Local
Single server
Run `dagu start-all` on one machine with local file-backed state. No database, broker, or platform stack required.
Most teams end up with cron jobs nobody can fully explain. When one breaks, figuring out what failed and what order to re-run things in takes longer than it should. Dagu turns that implicit dependency graph into an explicit DAG. Status, logs, and re-runs live in a web UI. One binary, local files, existing scripts untouched.
Dagu is built for developers who want powerful workflow orchestration without the operational overhead.
One binary, no external database or broker. Workflows run from files, so it works in air-gapped environments too.
Shell scripts, Python jobs, SQL, dbt, DuckDB, containers, and data runbooks all run as pipeline steps unchanged. You don't need a new framework.
Use your favorite AI agent to create, improve, debug, and run workflows. Built-in secret management keeps credentials out of logs and away from agents, while still letting them preview and run tasks. Every action is logged for compliance.
Set up via MCP βTrusted by developers at
Dagu gives teams the missing operational layer for scripts, tools, runbooks, and AI agents.
Track workflows, schedules, live status, logs, run history, outputs, artifacts, and approvals in the Web UI.
Run shell commands, Python scripts, containers, Kubernetes Jobs, SQL queries, HTTP requests, SSH commands, and more.
Pin tools in workflow YAML so workers install and cache the expected binaries before execution.
Run shared AI agents inside workflows and expose workflows to agents as bounded, observable tools.
Pause sensitive steps for human review, confirmation, or intervention before execution continues.
Let MCP-capable agents inspect Dagu state, preview changes, edit workflows, and control runs.
Run coding agents and agent CLIs from workflows while keeping logs, approvals, secrets, and audit history in Dagu.
Inject secrets into workflow runs and mask sensitive values in logs for users, agents, and chat tools.
Run a single binary, deploy with containers or Kubernetes, or use managed and hybrid deployment models.
Use RBAC, SSO, API keys, workspace controls, and audit logs to govern workflow access.
Deployment models
Run a self-hosted instance, use the Dagu managed server, or combine the cloud control plane with private workers in your infrastructure.
Local
Run `dagu start-all` on one machine with local file-backed state. No database, broker, or platform stack required.
Self-hosted
Keep the Dagu server, workers, secrets, logs, and execution inside your own environment.
Dagu
Use a dedicated Dagu server operated by Dagu in an isolated gVisor instance on GKE.
Hybrid
Let Dagu operate the server while private workers run Docker, private-network, or data-local steps.
Hybrid execution
Hybrid keeps the Dagu server managed while execution that needs your network, runtime, or data stays under your control.
Battle-tested workflow engine features let you focus on the core value without worrying about orchestration.
Run thousands of workflow runs per day on one machine, depending on hardware, workflow shape, step duration, and queue settings.
Use queues, concurrency limits, and distributed workers to control load and spread jobs across machines.
Recurring schedules, catchup, durable executions, timeouts, reruns, notification, and incidents routing to responders.
User management, RBAC, workspaces, approval steps, built-in secret management, API Keys, and webhooks.
Turn repetitive engineering requests into self-service workflows. Business teams run them independently. Engineers stay out of the loop.
Bring existing shell scripts, Python scripts, HTTP calls, and scheduled jobs into Dagu without rewriting them.
Coordinate SSH backups, cleanup jobs, deploy scripts, patch windows, precondition checks, and lifecycle hooks.
Run PostgreSQL or SQLite queries, S3 transfers, jq transforms, validation steps, and reusable sub-workflows.
Trigger Dagu runs from GitHub events from issues and PRs via managed Dagu GitHub App.
Compose workflows where each step can run a Docker image, Kubernetes Job, shell command, or validation step.
Run ffmpeg, thumbnail extraction, audio normalization, image processing, and other compute-heavy jobs across workers.
Run sensor polling, local cleanup, offline sync, health checks, and device maintenance jobs on small devices.
Run any harness to automate certain development workflow with clean context and automatic retry & failover.
Turn private scripts, internal CLIs, reusable actions, pinned tools, and artifacts into workflows other teams can safely request or run.
tools:
- jqlang/jq@jq-1.7.1
steps:
- id: collect
action: acme/dagu-action-export@v1.4.2
with:
dataset: customers
- id: transform
run: jq '.items[] | {id, email}' ${collect.outputs.path}
stdout:
artifact: reports/customers.json
depends: [collect]
- id: publish
action: outputs.write
with:
values:
report: reports/customers.json
rows: ${collect.outputs.rows}
depends: [transform]
Dagu automatically renders them as a typed parameter input form in the Web UI, useful for making self-service workflows or operation by non-engineers.
tools:
- jqlang/jq@jq-1.7.1
steps:
- id: inspect
run: jq --version
- id: summarize
action: python-script@v1
with:
input:
rows: [42, 8]
script: |
return {"total": sum(input["rows"])}
Tool provisioning uses aqua as the default provider.
Declare CLI tools and versions in YAML. Dagu prepares them before host-command steps run.
Learn moreUse official Dagu Actions such as Python or NodeJS, or build your own action package to run your workflow with necessary tools and dependencies.
Learn moreManage artifacts in DAG runs and preview / download in the Web UI.
Learn moreConfigure notifications for each workflow so necessary events reach the right channel.
Learn moreAI agent in Slack helps you to manage your workflows,
debug failures, and recover incidents.
Dagu is equipped with production-grade workflow engine features.
Real comments from the Dagu GitHub community.
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
Dagu is really a gem in the open source world! β€οΈ What a release β with GitHub Actions as well. Thanks guys.
@borestad
Elk Studios
Dagu is an amazing tool!! It works perfectly now, thank you so much! π
@jarnik
Freelance developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!
@jonasban
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
Awesome, it works like a charm! I second the update of the doc on this one.
@thibmart1
Developer
That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. π«‘
@ghansham
Developer
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
Dagu is really a gem in the open source world! β€οΈ What a release β with GitHub Actions as well. Thanks guys.
@borestad
Elk Studios
Dagu is an amazing tool!! It works perfectly now, thank you so much! π
@jarnik
Freelance developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!
@jonasban
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
Awesome, it works like a charm! I second the update of the doc on this one.
@thibmart1
Developer
That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. π«‘
@ghansham
Developer
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
Dagu is really a gem in the open source world! β€οΈ What a release β with GitHub Actions as well. Thanks guys.
@borestad
Elk Studios
Dagu is an amazing tool!! It works perfectly now, thank you so much! π
@jarnik
Freelance developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!
@jonasban
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
Awesome, it works like a charm! I second the update of the doc on this one.
@thibmart1
Developer
That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. π«‘
@ghansham
Developer
I love how simple this is now.
@n3storm
Estudio Nexos
Fantastic! Thanks for the quick reply β keep up the great project!
@mitchplze
Developer
Amazing support! Thank you!
@kacamific
Developer
It works perfectly with v2.6.1. Thank you very much for the correction.
@napnap75
Developer
Thanks for the fix. Works great now.
@triole
Developer
As always, appreciate the great work β just sharing feedback to help shape the roadmap.
@jonnochoo
Developer
it's awesome you keep working on it π
@fishnux
Developer
Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.
@IngwiePhoenix
Developer
I love how simple this is now.
@n3storm
Estudio Nexos
Fantastic! Thanks for the quick reply β keep up the great project!
@mitchplze
Developer
Amazing support! Thank you!
@kacamific
Developer
It works perfectly with v2.6.1. Thank you very much for the correction.
@napnap75
Developer
Thanks for the fix. Works great now.
@triole
Developer
As always, appreciate the great work β just sharing feedback to help shape the roadmap.
@jonnochoo
Developer
it's awesome you keep working on it π
@fishnux
Developer
Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.
@IngwiePhoenix
Developer
I love how simple this is now.
@n3storm
Estudio Nexos
Fantastic! Thanks for the quick reply β keep up the great project!
@mitchplze
Developer
Amazing support! Thank you!
@kacamific
Developer
It works perfectly with v2.6.1. Thank you very much for the correction.
@napnap75
Developer
Thanks for the fix. Works great now.
@triole
Developer
As always, appreciate the great work β just sharing feedback to help shape the roadmap.
@jonnochoo
Developer
it's awesome you keep working on it π
@fishnux
Developer
Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.
@IngwiePhoenix
Developer
Install Dagu with the guided wizard, then continue in the full installation guide or quickstart docs.
The script installers are the recommended path. Homebrew, npm, and Docker remain available for binary-only or container installs.
Install the Dagu skill for workflow authoring, or connect an MCP client to a running Dagu server.
Helps Claude Code, Codex, Gemini CLI, and other AI coding tools write Dagu YAML.
Lets MCP-capable clients read Dagu state, preview changes, and control DAG runs.
OIDC/SSO-backed MCP access is available for enterprise deployments. Contact us to discuss setup.
The guided installer can finish the first-run setup for you.
Discuss usage, report issues, and follow development.
Solution partner
For teams embedding Dagu into customer-facing products, internal platforms, or managed services, we provide enterprise features and hands-on integration support.
We help partners design the security model, integration path, and operating plan so Dagu can fit cleanly into customer projects without handing out broad production access.