Skip to content
Dagu

Local-first workflow engine.

Declarative, file-based, self-contained, and air-gapped ready. One binary that scales from laptop to distributed cluster.

Cockpit demo

Try It Live

Explore without installing: Live Demo

Credentials: demouser / demouser

Why Dagu?

  • Single binary - No database, message broker, or external services. Architecture
  • Declarative YAML - Define workflows without code. YAML Reference
  • Composable - Nest sub-workflows with parameters. Control Flow
  • Distributed - Route tasks to workers via labels. Distributed Execution
  • AI Agent - Built-in LLM-powered assistant with tools, memory, and configurable personalities. AI Agent
  • Workflow Operator - Persistent AI operator for Slack and Telegram. Monitor runs, debug failures, recover incidents, and continue follow-up in context. Workflow Operator
  • Production-ready - Retries, hooks, metrics, RBAC. Error Handling

Quick Start

Install

bash
curl -fsSL https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.sh | bash
powershell
irm https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.ps1 | iex
cmd
curl -fsSL https://raw.githubusercontent.com/dagu-org/dagu/main/scripts/installer.cmd -o installer.cmd && .\installer.cmd && del installer.cmd
bash
docker run --rm -v ~/.dagu:/var/lib/dagu -p 8080:8080 ghcr.io/dagu-org/dagu:latest dagu start-all
bash
brew install dagu
bash
npm install -g --ignore-scripts=false @dagu-org/dagu

The script installers open a guided wizard that can install Dagu, add it to your PATH, set up a background service, create the first admin, and offer Dagu AI skill installation. Homebrew, npm, Docker, and manual downloads remain available, but they do not include the guided setup flow. See the Installation Guide for details.

Create a Workflow

bash
cat > hello.yaml << 'EOF'
steps:
  - command: echo "Hello from Dagu!"
  - command: echo "Step 2"
EOF

Run

bash
dagu start hello.yaml

Start Web UI

bash
dagu start-all

Visit http://localhost:8080

Key Capabilities

CapabilityDescription
Nested WorkflowsReusable sub-DAGs with full execution lineage tracking
Distributed ExecutionLabel-based worker routing with automatic service discovery
Error HandlingExponential backoff retries, lifecycle hooks, continue-on-failure
Step TypesShell, Docker, SSH, HTTP, JQ, Mail, and more
ObservabilityLive logs, Gantt charts, Prometheus metrics, OpenTelemetry
AI AgentBuilt-in LLM assistant with tool calling, persistent memory, and souls
Workflow OperatorPersistent AI operator for Slack and Telegram to manage workflows and incident follow-up
SecurityBuilt-in RBAC (Pro) with admin, manager, operator, and viewer roles

Examples

CLI Orchestration

yaml
schedule: "0 2 * * *"
type: graph

steps:
  - id: build
    command: make build

  - id: test
    command: make test
    depends: build
    retry_policy:
      limit: 3
      interval_sec: 10

  - id: deploy
    type: ssh
    config:
      host: prod-server
    command: ./deploy.sh
    depends: test

handler_on:
  success:
    command: notify.sh "Deployment succeeded"
  failure:
    command: alert.sh "Deployment failed"

AI Agent Workflow

yaml
type: graph
steps:
  - id: analyze
    type: agent
    messages:
      - role: user
        content: "Review error logs and suggest fixes"
    output: ANALYSIS
    approval:
      prompt: "Review AI analysis before applying"

  - id: apply
    command: ./apply-fix.sh "${ANALYSIS}"
    depends: [analyze]

See Examples for more patterns.

Use Cases

  • CLI Orchestration - Chain shell scripts, Docker containers, and remote commands into reliable workflows
  • AI-Agent Workflows - LLM-powered agents with tool calling, approval gates, and memory. Manage workflows through Workflow Operator in Slack or Telegram
  • Deployment Automation - Multi-environment rollouts with approval gates
  • Scheduled Operations - Cron-based maintenance, backups, and reporting
  • Legacy Migration - Wrap existing scripts without rewriting them

Quick Links: Overview | CLI | Web UI | API | Architecture

Learn More

Overview

What is Dagu and how it works

Getting Started

Installation and first workflow

Writing Workflows

Complete workflow authoring guide

YAML Reference

All configuration options

AI Agent

Chat, tools, memory, and souls

Workflow Operator

Manage workflows from Slack or Telegram with persistent follow-up context

Step Types

Shell, Docker, SSH, HTTP, SQL, Redis, and more

Configuration

Server, authentication, operations

Community

Released under the MIT License.