back to home

dagu-org / dagu

A local-first workflow engine built the way it should be: declarative, file-based, self-contained, air-gapped ready. One binary that scales from laptop to distributed cluster. Your Workflow Operator handles creating and debugging workflows.

View on GitHub
3,192 stars
243 forks
118 issues

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing dagu-org/dagu in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/dagu-org/dagu)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Docs | Examples | Discord | GitHub What is Dagu Workflow Engine? **Dagu is a self-contained, lightweight workflow engine for small teams.** 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 without requiring databases, message brokers, or code changes to your existing scripts. Built for developers who want powerful workflow orchestration without the operational overhead. For a quick feel of how it works, take a look at the examples. • Zero-Ops: Single binary, file-based storage, under 128MB memory footprint • Full-Power: Docker steps, SSH execution, DAG composition, distributed mode, Git-based version management for DAGs & docs, 19+ executors • AI-Native: Built-in LLM agent creates, edits, and debugs workflows from natural language in the Web UI or as steps • Workflow Operator: Persistent AI operator for Slack and Telegram. Monitor runs, debug failures, recover incidents, and continue follow-up in the same conversation • Legacy Script Friendly: Orchestrate existing shell commands, Python scripts, Docker containers, or HTTP calls without modification. • Air-gapped Ready: Runs in isolated environments without external dependencies or network access | Cockpit (Kanban) | DAG Run Details | |---|---| | | | **Try it live:** Live Demo (credentials: / ) Why Dagu? One binary. No Postgres. No Redis. No Python. Just . Quick Start • Install **macOS/Linux:** **Homebrew:** **Windows (PowerShell):** The script installers open a guided wizard. They can install Dagu, add it to your PATH, set it up as a background service, create the first admin account, and install the Dagu AI skill when a supported AI tool is detected. Homebrew, npm, Docker, Helm, and manual downloads install Dagu without the guided wizard. See the Installation docs for the full install guide and advanced options. **Docker:** **Kubernetes (Helm):** > Replace with a StorageClass in your cluster that supports . If your cluster default storage class already supports , you can omit the flag. See charts/dagu/README.md for chart details, values, and source-checkout installation. > More options (npm, custom paths, specific versions): Installation docs > > The script installers also support uninstall. See the Installation docs for / , optional data purge, and AI skill removal. • Set up AI-assisted workflow authoring (optional) If you use an AI coding tool (Claude Code, Codex, OpenCode, Gemini CLI, or Copilot CLI), install the Dagu skill so the AI can write correct DAG YAML. If you installed Dagu with Homebrew, npm, or a manual binary download, run this after is available on your PATH. The guided installer can offer the same step automatically. Use Dagu's built-in installer: Fallback via the shared CLI: For explicit skills directories, see the installation docs and the CLI reference. • Create your first workflow > When you first start Dagu with an empty DAGs directory, it automatically creates example workflows. Set to skip this. • Run the workflow • Check the status • Explore the Web UI Visit http://localhost:8080 **Docker Compose:** Clone the repo and run . See deployment docs for production setups. Workflow Examples Sequential Steps Steps execute one after another: Parallel Steps Steps with dependencies run in parallel: Docker Step Run containers as workflow steps: SSH Execution Run commands on remote machines: Sub-DAG Composition Invoke other DAGs as steps for hierarchical workflows: For more examples, see the Examples documentation. Features Zero-Ops • Single binary installation, under 128MB memory • File-based storage — no PostgreSQL, no Redis, no message brokers • Air-gapped / offline capable • Cron scheduling with timezone support and zombie detection • High availability with scheduler failover Full-Power • Docker executor — run containers as workflow steps • SSH executor — execute commands on remote machines • Git sync — version management for DAG definitions and documents • Hierarchical DAG composition — nest workflows inside workflows • Distributed execution — coordinator/worker mode across machines • 19+ built-in executors — HTTP, SQL, Redis, S3, jq, mail, archive, and more • RBAC with 5 roles, OIDC, API keys, and audit logging • Approval gates on any step type AI-Native • Built-in AI agent — creates, edits, runs, and debugs workflows from natural language • Workflow Operator — persistent AI operator for Slack and Telegram to monitor runs, debug failures, recover incidents, and continue follow-up in context • Agent and chat step types in DAGs with tool calling • Multi-provider LLM support (Anthropic, OpenAI, Google Gemini, OpenRouter) • Persistent memory, sub-agent delegation, and domain-specific skills • Built-in document management with AI agent integration > See the full feature list for all capabilities. Environment Variables **Note:** Configuration precedence: Command-line flags > Environment variables > Configuration file Frontend Server Configuration | Environment Variable | Default | Description | |---------------------|---------|-------------| | | | Web UI server host | | | | Web UI server port | | | - | Base path for reverse proxy setup | | | | API endpoint base path | | | - | Server timezone (e.g., ) | | | | Enable debug mode | | | | Log format ( or ) | | | | Run without Web UI | | | | Show only today's latest status | | | - | Default shell for command execution | | | - | TLS certificate file path | | | - | TLS key file path | Path Configuration | Environment Variable | Default | Description | |---------------------|---------|-------------| | | - | Base directory that overrides all path configurations | | | | Directory for DAG definitions | | | - | Additional directory to search for DAG definitions | | | | Directory for log files | | | | Directory for application data | | | | Directory for suspend flags | | | | Directory for admin logs | | | | Path to b…