Dagu
★ 4.3kA self-hosted alternative to Make Integromat
GNU General Public License v3.0Open Core — Some Features PaidSingle Container — single container — minimal hosting footprintDocker · K8s · Helm +3No external DB27+ active committers (12mo)
About
Dagu is a lightweight workflow orchestration tool designed as a self-contained alternative to systems like Airflow or cron. It targets users who want to define scheduled or event-driven automation in...
Community Ratings
No ratings yetNew this week
Read recap →Weekly Recap — Oct 2, 2026 – Oct 9, 2026Oct 9, 2026
Features
- declarative YAML DAGs
- web UI
- workflow retrying
- workflow monitoring
- shell command steps
- Docker container steps
- Kubernetes Job steps
- SSH remote commands
- MCP server
- human approvals
Details
- Last Updated
- Oct 11, 2026
- Created
- Apr 22, 2022
- Install Methods
- dockerkuberneteshelmbinarypackage-managersource
- Requirements
- ReadWriteMany storage class for Helm-based Kubernetes install
- Authentication
- oidc-ssolocal
- API
- RESTWEBSOCKET
- Backup & Export
- file-backupdatabase-dump
- Runtime / Stack
- GoDocker
- Privacy & Independence
- Cloud: OptionalOffline Capable
- User Model
- Multi-UserMulti-Tenant
- Deployment
Deployment: Docker Compose ✓Single Container — minimal hosting footprintsingle container
Run Dagu with Docker Compose
Compose file from the Dagu project repository.
1 service
no resource limits declared
needs persistent storage (3 volumes)
deploy/docker/compose.minimal.yaml · @ 4a192b1 · scanned Jul 9, 2026
services:
dagu:
image: ghcr.io/dagucloud/dagu:latest
container_name: dagu-dev
hostname: dagu-dev
# Expose the web UI on localhost:8080
ports:
- "8080:8080"
entrypoint: ["/usr/local/bin/tini", "-g", "--"] # Preserve PID 1 reaping while running as root for Docker in Docker (DinD) support
# Default command: run all-in-one (server + scheduler + coordinator in-process)
# You may override this at runtime, e.g.:
# docker compose -f compose.dev.yaml run --rm dagu dagu server
command: ["dagu", "start-all"]
# Recommended dev environment variables
environment:
# Frontend server
- DAGU_HOST=0.0.0.0 # Bind inside container
- DAGU_PORT=8080 # Web/UI port inside container
- DAGU_DEBUG=true # More verbose logs during dev
# Paths
- DAGU_DAGS_DIR=/var/lib/dagu/dags
# Builtin authentication (RBAC) - CHANGE TOKEN_SECRET IN PRODUCTION
- DAGU_AUTH_MODE=builtin
# Token secret: auto-generated if not set (persisted to {dataDir}/auth/token_secret)
# - DAGU_AUTH_TOKEN_SECRET=your-secure-random-secret
# First admin account created via /setup page on first browser visit
# - DAGU_AUTH_TOKEN_TTL=24h # default is 24h
# Timezone / base path (optional)
# - DAGU_TZ=UTC
# - DAGU_BASE_PATH=/dagu
# User and Group IDs (optional, for file permissions)
# - PUID=1000 # optional. default is 1000
# - PGID=1000 # optional. default is 1000
# Dev-friendly mounts (persistent data + writable DAGs)
volumes:
- dagu-data:/var/lib/dagu
- ./dags:/var/lib/dagu/dags
# For Docker in Docker (DinD) support, mount the host Docker socket:
- /var/run/docker.sock:/var/run/docker.sock
# Quick command presets (uncomment any one to run specific component):
# command: ["dagu", "server"]
# command: ["dagu", "scheduler"]
# command: ["dagu", "coordinator"]
# command: ["dagu", "worker"]
# Alternative: basic auth (simpler, no user management)
# To use basic auth instead of builtin auth, comment out
# DAGU_AUTH_MODE and DAGU_AUTH_TOKEN_SECRET above, then uncomment:
# environment:
# - DAGU_AUTH_BASIC_USERNAME=dev
# - DAGU_AUTH_BASIC_PASSWORD=devpass
user: "0:0" # Run as root for Docker in Docker (DinD) support
volumes:
dagu-data:
driver: local
This file may be out of date. Check the Dagu documentation for current setup steps.
Tags
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.
Metadata extracted from README on Jul 9, 2026
Related Software
Cronicle
5.9k
A multi-server task scheduler and runner with a web-based UI for scheduled, repeating, and on-demand jobs.
Automation ToolsTask RunnersScheduling and Bookings+2
flowctl
341
An open-source self-service workflow execution platform for running and managing complex workflows.
Task RunnersScheduling and BookingsSelf Hosting Solutions+3
4 Containers
Cronmaster
1.4k
A web-based cron manager for viewing, creating, cloning, and deleting cron jobs and scripts, with system information, logging, and authentication.
Automation ToolsTask RunnersScheduling and Bookings+3
gocron
587
A Go and Vue.js task scheduler for defining recurring jobs in a YAML configuration file and running commands on cron schedules.
Automation ToolsPermissive LicenseTask Runners+2
Ctfreak
IT task scheduler with mobile-friendly web UI to schedule concurrent, remote and chained execution of Bash / Powershell / SQL scripts, Webhooks, and more.
Automation ToolsTask RunnersScheduling and Bookings+1
Huginn
50.0k
Huginn is a self-hosted automation system for building agents that monitor online events and perform actions on your behalf.
Automation ToolsPermissive LicenseAI Agents+3
4 Containers
Apache Airflow
47.1k
Apache Airflow is a platform for programmatically authoring, scheduling, and monitoring workflows.
Automation ToolsPermissive LicenseTask Runners
Kestra
29.5k
Kestra is an open-source event-driven orchestration platform for building scheduled and real-time workflows with YAML and a web UI.
Automation ToolsTask RunnersPermissive License+1
woodpecker
8.0k
Woodpecker is a simple, extensible CI/CD engine.
Automation ToolsTask RunnersSelf Hosting Solutions
2 Containers
Trigger.dev
16.5k
An open-source platform for building and deploying AI workflows and agents in TypeScript.
Task RunnersArtificial IntelligenceAutomation Tools+4
StackStorm
6.5k
StackStorm is a platform for event-driven integration and automation across services and tools.
Automation ToolsPermissive LicenseTask Runners
OliveTin
3.8k
OliveTin provides safe and simple access to predefined shell commands through a web interface.
Automation ToolsCopyleft LicenseTask Runners+2
