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

Dagu replaces workflow platform sprawl with a self-contained engine that is easier to run, cheaper to own, and simpler to scale.

View Examples
Try Live Demo
Login withdemouser / demouser
dagu server --port 8080
Install dagu command
$curl -L https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.sh | sh

Zero Intrusion

No SDK required. Your code stays untouched.

Self-contained

Single binary, no external dependencies

Language agnostic

Run any script, any language

Air-Gapped Ready

Runs fully offline. No external services needed.

workflow.yaml
# CLI + AI agent workflow
name: "log-analyzer"
schedule: "0 0 * * *"

steps:
- name: "collect-logs"
command: "grep ERROR /var/log/app/*.log"
output: ERRORS

- name: "ai-analyze"
type: agent
messages:
- role: user
content: "Analyze: $${ERRORS}"
USE CASES

Built for real workflows

From shell scripts to AI agents, automate it all in simple YAML.

Health Check
SSH Backup
Notify

CLI Orchestration

Chain shell commands, Docker containers, SSH sessions, and HTTP calls into reliable automated workflows.

  • 1Orchestrate any CLI command without code changes
  • 2Run containers, SSH into servers, make HTTP calls
  • 3Parallel execution with dependency management
  • 4Automatic retries with exponential backoff
workflow.yaml
steps:
  - name: health-check
    command: curl -sf http://app:8080/health

  - name: backup
    type: ssh
    config:
      host: db-server
      user: admin
    command: pg_dump mydb > /backups/daily.sql

  - name: notify
    type: http
    config:
      url: "https://hooks.slack.com/..."
      method: POST
    body: '{"text": "Backup complete"}'
Workflow Automation

Automate CLI commands, AI agents, and everything in between

Everything you need in a single binary. No external dependencies required.

Quickstart Guide

Dagu includes a modern web interface for monitoring and managing workflows.

1

Install dagu command

Choose your preferred installation method. Dagu is a single binary with zero external dependencies.

macOS/Linux Terminal
$curl -L https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.sh | bash
✓ Installed to /usr/local/bin/dagu
2

Create a workflow

Create a simple workflow file and start the Dagu server.

# Create a workflow file
$ cat > hello.yaml << EOF
steps:
  - name: hello
    command: echo "Hello World"
EOF
# Start Dagu server
$dagu start-all
Server started on port 8080
Open Source Community

Join our community!

Built by the community, for the community.