Open source/Single binary/Zero dependencies

The workflow engine that doesn't turn into an SRE project.

Dagu is a local-first workflow engine for ops automation and AI-assisted operations. Open source and self-hostable: one binary, no external database or broker. Define DAGs in declarative YAML. It supports shell commands, docker containers, k8s jobs, remote commands via SSH, and more. Keep existing scripts and tools as they are while Dagu adds scheduling, retries, approvals, logs, and run history around them.

Dagu is built for developers who want powerful workflow orchestration without the operational overhead.

Try Live Demodemouser / demouser
daily-report.yaml
on schedule
# runs every night at 02:00
schedule: "0 2 * * *"
steps:
- name: fetch data
command: python fetch.py
retryPolicy:
limit: 3
- name: build report
command: python report.py
- name: notify
command: ./notify.sh
last run Β· 02:00:04 Β· exit 03/3 steps

Trusted by developers at

1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX
1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX
1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX

Production-grade workflow engine features

Battle-tested workflow engine features let you focus on the core value without worrying about orchestration.

Performance

Run thousands of workflow runs per day on one machine, depending on hardware, workflow shape, step duration, and queue settings.

Distributed executions

Use queues, concurrency limits, and distributed workers to control load and spread jobs across machines.

Notifications

Recurring schedules, catchup, durable executions, timeouts, reruns, notification, and incidents routing to responders.

Auth & RBAC

User management, RBAC, workspaces, approval steps, built-in secret management, API Keys, and webhooks.

Common patterns

Health Check
SSH Backup
Notify

Private Script Workflows

Turn private scripts, internal CLIs, reusable actions, pinned tools, and artifacts into workflows other teams can safely request or run.

  • 1Keep existing scripts and commands intact
  • 2Expose narrow parameters instead of broad production access
  • 3Call versioned Dagu Actions with typed outputs
  • 4Store reports and logs as first-class artifacts
workflow.yaml
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}' ${steps.collect.outputs.path}
    stdout:
      artifact: reports/customers.json
    depends: [collect]

  - id: publish
    action: outputs.write
    with:
      values:
        report: reports/customers.json
        rows: ${steps.collect.outputs.rows}
    depends: [transform]

Loved by developers

Real comments from the Dagu GitHub community.

I've been looking for an alternative for dynamic agent workflows lately. I started out down the Temporal path. Temporal is powerful, but if all you want is to dynamically chain agents, scripts, data processing, and ops tasks together, the whole stack can feel a bit heavy. Then I came across Dagu, and the direction felt right. It runs as a single binary, workflows are written in YAML, everything lives in local files, it ships with a web UI, and there's no extra DB or broker to stand up. There are plenty of built-in actions too: shell, Docker, K8s Jobs, SSH β€” all there. A nice surprise was harness.run, which lets you plug external coding agent CLIs straight into a workflow. What I like most: the workflow itself is just a file, and state, logs, retries, dependencies, and the UI are all taken care of for you. For small teams, private environments, personal automation, and agent workflows, Dagu's local-first approach turns out to be a really comfortable fit.
Engineer at Alipay

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

#827

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

#1814

I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.

@DarkWiiPlayer

Developer

#924

Self-hosted on your own infrastructure

Dagu is GPLv3 and free forever. Paid licenses add SSO, RBAC, audit logging, incident routing, and support for teams.

Community
Free forever
Unlimited servers, unlimited workers
  • Full workflow automation and monitoring
  • Web UI with DAG visualization
  • Docker, SSH, and HTTP executors
  • Cron scheduling & retries
  • Up to 2 API keys for automation
Minimum
$50 / mo

3 self-host Dagu server licenses

3 licenses = 3 servers, unlimited workers
Start free license trial
Pro
$150 / mo

15 self-host Dagu server licenses

15 licenses = 15 servers, unlimited workers
Start free license trial
Enterprise
Custom

For teams building event-driven workflow infrastructure in complex environments

Custom licensed server allotment
  • Architecture consulting for distributed setup
  • Custom implementation
  • MCP OIDC/SSO setup guidance
  • Initial migration support
  • Dedicated meetings
What we build
  • Custom Solutions

    Building tailored features for specific company needs.

  • Turnkey Solutions

    Creating ready-to-go setups to help teams scale Dagu easily without burning massive technical or server resources.

Contact Us

Create a 14-day self-host license trial in minutes β€” 14 days, No credit card required. Start free license trial

Quickstart

Install Dagu with the guided wizard, then continue in the full installation guide or quickstart docs.

1

Install dagu command

The script installers are the recommended path. Homebrew, npm, and Docker remain available for binary-only or container installs.

Mac/Linux Terminal
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash
βœ“ Guided installer ready
Optional

Connect AI tools

Install the Dagu skill for workflow authoring, or connect an MCP client to a running Dagu server.

Dagu skill
$gh skill install dagucloud/dagu dagu

Helps Claude Code, Codex, Gemini CLI, and other AI coding tools write Dagu YAML.

Dagu MCP endpoint
URLhttp://localhost:8080/mcp

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.

2

Next steps

The guided installer can finish the first-run setup for you.

# What the installer can do
Add Dagu to your PATH
Set up a background service
Create and verify the first admin

Contact

Questions, enterprise needs, or feedback?

We'd love to hear from you.