A Lightweight Alternative to Airflow & Cron
A single binary with built-in Web UI. You can run arbitrary workflows without any complex infrastructure.
Simple as it should be
Define complex workflows in simple YAML. No Python classes, no boilerplate.
schedule: "0 0 * * *" # Runs at 00:00 everyday
steps:
- echo "Hello, dagu!"
- echo "This is a second step"
Zero Dependencies
Single binary with no external database or message broker required. Works everywhere.
Visual Workflows
Modern web UI with DAG visualization, dependencies, retries, and centralized monitoring.
Instant Setup
Download, run, done. Start orchestrating workflows in minutes with sensible defaults.
Workflow Engine Features
Dagu packs production-ready features into a single binary.
Nested Workflows
Build complex workflows by composing smaller, reusable workflows
Distributed Execution
Scale your workflows across multiple machines seamlessly
Docker Integration
Run steps in isolated Docker containers with full control
Shell Commands
Execute any command with pipes, redirects, or scripts
Conditional Steps
Control workflow execution based on conditions and outputs
Automatic Retries
Built-in retry logic based on exit codes, with exponential backoff
Repeat Policy
Repeat steps with custom intervals and 'until' or 'while' conditions
Environment Variables
Pass and manage environment variables throughout workflows
Rich Web UI
DAG visualization, execution history, logs, and built-in editor
Authentication
Secure your workflows with Basic Auth or OIDC integration
Email Notifications
Get notified about workflow status and failures via email
Advanced Scheduler
Start, stop, retry schedules with cron expressions
Timezone Support
Schedule workflows in any timezone with CRON_TZ
Remote Command Execution
Execute commands on remote servers through SSH
Queue Management
Control concurrent workflow runs with built-in queueing system
Quickstart
Install Dagu
Create a workflow
# Your first workflow
steps:
- echo "Hello from dagu!"
- ls -la
Run it
Explore the Web UI
dagu includes a modern web interface for monitoring and managing workflows.
Architecture
Interfaces
CLI
dagu start workflow.yaml
Web UI
Real-time monitoring
REST API
Full programmatic control
Core Components
Scheduler
Cron expressions
Timezone aware
Agent, Worker
Separated process
Parallel, Distributed execution
Executor
Shell, Docker, SSH
HTTP, jq
File-Based Storage
Workflows
Simple YAML format
Logs
Structured output
Automatically cleaned-up
History
Execution history
Simple JSON format