Self-hostable PaaS for deploying apps and databases on your own VPS, as an alternative to Vercel, Netlify and Heroku.
dagucloud/dagu
Self-hostable workflow orchestrator that runs your existing scripts, SSH commands and containers from declarative YAML, as a single binary with no database.
Open-source alternative to:Airflow
- Stars
- 4,391
- Forks
- 378
- Open issues
- 113
- Last commit
- 17 hours ago
What is it?
Dagu is a workflow engine for operations and internal automation. You define DAGs in YAML that run shell commands, Docker containers, Kubernetes Jobs, SSH commands and other actions, so existing scripts can be used without modification. It adds scheduling, dependencies, retries, human approval steps, per-step logs and run history around them.
It ships as a single binary with a built-in Web UI and stores state in local files, so it needs no external database or message broker. It runs on Linux, macOS and Windows, from a single server up to a fleet of distributed workers that poll a coordinator over outbound gRPC.
The project also includes a built-in MCP server for inspecting and controlling workflows, role-based access control, secret masking in logs, and a large set of built-in actions for databases, S3, email, HTTP and spreadsheets.
Key features
- 01Defines workflows as declarative YAML over existing shell scripts, Docker containers, Kubernetes Jobs and SSH commands.
- 02Ships as a single binary with a built-in Web UI and no external database.
- 03Supports cron scheduling with timezones, overlap policies and catch-up windows.
- 04Provides per-step retries, dependencies, parallel execution and sub-DAGs.
- 05Includes human tasks that pause a run for acknowledgement or typed input.
- 06Offers RBAC, audit logging, secret masking and a built-in MCP server.
Use cases
- Replacing interdependent cron jobs with a DAG that has retries, logs and a web dashboard.
- Running maintenance commands on remote servers over SSH with centralized history.
- Orchestrating ETL steps such as SQL queries, dbt commands and data extraction scripts.
- Letting non-engineering staff run approved diagnostic workflows from a UI.
Quick start
- 1
Install with the macOS/Linux script
curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash - 2
Create hello.yaml with a single echo step, then run it
dagu start hello.yaml - 3
Start the server and open http://localhost:8080
dagu start-all --dags .
Things to know
- Some optional features such as SSO, RBAC and audit logging require a paid self-host license.
- Dagu Console monitoring is in beta.
Topics
FAQ
- What is dagu?
- Self-hostable workflow orchestrator that runs your existing scripts, SSH commands and containers from declarative YAML, as a single binary with no database. Dagu is a workflow engine for operations and internal automation. You define DAGs in YAML that run shell commands, Docker containers, Kubernetes Jobs, SSH commands and other actions, so existing scripts can be used without modification. It adds scheduling, dependencies, retries, human approval steps, per-step logs and run history around them.
- Is dagu free to use? What license does it have?
- dagu is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is dagu still maintained?
- Actively maintained. The last commit to dagu was on Oct 19, 2026.
- What can I use dagu for?
- Replacing interdependent cron jobs with a DAG that has retries, logs and a web dashboard. Running maintenance commands on remote servers over SSH with centralized history. Orchestrating ETL steps such as SQL queries, dbt commands and data extraction scripts. Letting non-engineering staff run approved diagnostic workflows from a UI.
- How do I install dagu?
- Install with the macOS/Linux script: curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash Create hello.yaml with a single echo step, then run it: dagu start hello.yaml Start the server and open http://localhost:8080: dagu start-all --dags .
- Where can I get dagu?
- The source code and installation instructions are on GitHub: https://github.com/dagucloud/dagu
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted platform for cloud development environments and AI coding agents, with workspaces defined in Terraform.
Free, self-hosted PostgreSQL backup tool with Point-in-Time Recovery, automated restore verification, and a web UI.
A self-hosted continuous delivery and deployment platform for containerized apps, with version management across Docker, Podman and Kubernetes.
A Textual-based terminal dashboard for creating, editing, pausing and monitoring cron jobs on local machines and remote servers over SSH.
A self-hosted tunnel written in Go that exposes localhost services to the internet through your own domain and server.