Dagu

A run's detail page in dark mode: a graph of about fifteen video publishing steps, paused on an approval step outlined in orange.

What is it?

Dagu is a self-hosted workflow engine. A YAML file lists the steps of a DAG (shell commands, Docker containers, Kubernetes Jobs, SSH commands) and how they depend on each other; Dagu schedules them, retries the ones that fail and keeps logs and run history in a web UI. Your scripts import nothing from Dagu: delete the YAML and they run as before.

Why is it interesting?

  • One binary, no database: dagu start-all runs the web server, scheduler and coordinator in a single process, which keeps state, the queue and logs in local files. It runs on Linux, macOS and Windows, and also installs through Homebrew, npm, Docker or a Helm chart.
  • Scheduling that handles the awkward cases: cron with time zones, an overlap policy (skip, queue everything or keep only the latest run), catch-up for slots missed while the scheduler was down, and detection of stalled runs. A workflow can also stop for an operator's approval or typed input, which later steps receive.
  • Workers with no inbound port: in distributed mode, workers poll the coordinator over outbound gRPC and get work routed by label (gpu=true, region and so on). Temporary workers started by Cloud Run, Kubernetes or CI write to a shared volume instead, with no coordinator.
  • Built-in actions: HTTP requests, SFTP, PostgreSQL, SQLite, ClickHouse, Redis, S3, sending and sorting email, reading and writing Excel workbooks, plus an LLM call or a run of a coding agent such as Claude Code or Codex.
  • A built-in MCP server: authenticated MCP clients inspect workflows and runs, apply changes and control runs, behind the same authentication as the REST API.

Good to know

An alternative to cron and Airflow. The repository says so, aiming at teams "whose main work isn't orchestration": no metadata database or Python workers to run, and no rewriting scripts into a framework. Workflows are written in YAML. To connect applications without code, the comparison of workflow automation tools covers n8n and Activepieces.

SSO, roles and audit behind a licence key. The GPL code includes OIDC login, five roles (from admin to viewer) and audit logging, but the pricing page reserves them for paid licences, and the API checks the DAGU_LICENSE_KEY before it enables roles and audit. The Team plan costs $50 a month for three servers; according to the same page, neither Team nor Pro includes support, which comes with Enterprise.

Files instead of a database. State lives in files: on Kubernetes, the Helm chart needs a ReadWriteMany StorageClass, and temporary workers share a volume with the server. The README claims thousands of workflow runs a day on a single machine, depending on hardware and workflow shape.

One main developer, releases every week. The repository dates from April 2022. The 2.x line shipped 98 releases between 2.0.2 on 28 February 2026 and 2.22.4 on 26 October, and one developer authored 2,970 of the 3,446 commits.

SOURCES

REPOhttps://github.com/dagucloud/dagu
SITEhttps://dagu.sh
LICENSEGPL-3.0-or-later