Workflow engine alternative to Cron and Airflow without operational overhead
Lightweight Workflow Engine Alternative to Airflow
Define workflows in simple YAML, execute them anywhere with a single binary, compose complex pipelines from reusable sub-workflows, and distribute tasks across workers. All this without requiring databases, message brokers, or code changes.
No Code
Declarative YAML with powerful features. Language agnostic.
Portable
Single binary runs anywhere. No dependencies.
Simple
No databases, message brokers, or complex infrastructure.
Compose anything in YAML
Local scripts, remote commands, containers. All unified in simple, readable workflows.
schedule: "0 0 * * *" # Runs at 00:00 everyday
steps:
- name: local script
command: python data_extract.py
- name: remote command
executor: ssh
command: backup_database.sh
- name: docker container
executor: docker
command: python:3.11 python process.pyAir-Gapped Ready
Works offline and in isolated environments. No database, no external services required.
Universal Execution
Run anything: local scripts, remote SSH commands, Docker containers, HTTP calls.
Instant Setup
Download, run, done. Start orchestrating workflows in minutes with sensible defaults.
Production-Ready Features
Everything you need in a single binary. No external dependencies required.
Install Dagu
Create a workflow
Run it
Explore the Web UI
Dagu includes a modern web interface for monitoring and managing workflows.
Architecture Overview
A simple, layered architecture with no external dependencies
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
Distributed execution
Executor
Shell, Docker, SSH
HTTP, jq
File-Based Storage
Workflows
Simple YAML format
Logs
Structured output
Auto cleaned-up
History
Execution history
JSON format
Join our community!
Share ideas, request features, showcase use cases, report bugs, or get help from the community