Automation and scraping · Edition No. 19 · 13 Sep 2026

dagucloud/dagu

A workflow scheduler shipped as one file that keeps its state in ordinary files, so there is no database, no message queue and no worker to install.

← Automation and scrapingRead the whole edition →

4.0k stars · GPL-3.0 · v2.16.4 (2026-09-11) · Track this in Scout

A workflow scheduler shipped as one file that keeps its state in ordinary files, so there is no database, no message queue and no worker to install.

Repo detailsthe review · specs · pros & cons · install

What it is

Dagu is a workflow engine written in Go and shipped as a single file you copy onto a server. You describe each job in a short text file, and each step can be a shell command, a Docker container (a way to run a program inside its own sealed box, so it cannot break anything else on your server), a Kubernetes job, or a command run on another machine over SSH.What it is good for. Anybody running a handful of scheduled tasks on one server. The usual answer to this problem is Airflow or Temporal, and both of those want a database, a message queue and a worker process before they will do anything at all. Dagu keeps its state in ordinary files, so there is nothing extra to install, nothing extra to back up and nothing extra to go wrong at 3am. It also has retries and step-by-step dependencies, which a plain timed command does not. For you: it is the natural partner to Healthchecks (Ed. 15 #8). Healthchecks tells you a job did not run. Dagu is the thing that runs it, and the place you look when it failed.

Stars4.0k
LicenceGPL-3.0
Latestv2.16.4 (2026-09-11)
Good
  • One file, no database, no queue. You can install it and remove it in minutes.
  • The web page shows logs for every run, so you stop reading server log files by hand.
  • Steps can depend on other steps, so a report only runs after the data it needs has arrived.
Watch for
  • You write the job files by hand in YAML, a plain text format that cares about indentation. There is no drag-and-drop screen, so this is harder than it sounds for a non-programmer.
  • The licence is GPL-3.0, and single sign-on, permissions and audit logs sit behind a paid tier. The free part is complete for one person, but the line between free and paid can move.
  • The project changed its owner name from dagu-org to dagucloud. Old guides, old Docker image names and old links all point at the previous name.
Similar repositories
  • jhuckaby/Cronicle

    The same job of running scheduled commands across servers with a web screen, but built on Node.js and organised around single jobs rather than a chain of steps.

    Track this in Scout
  • mcuadros/ofelia

    The same replacement for timed commands, but only for commands inside Docker containers, and with no web page and no chain of steps.

    Track this in Scout
  • kestra-io/kestra

    The same idea of writing workflows as text files, but much heavier: it wants Java, PostgreSQL and Elasticsearch, and it is aimed at data teams rather than one person on one server.

    Track this in Scout
Install
# On the server, as a single file
curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash
dagu start-all          # web page on http://localhost:8080
# Or with Docker
docker run --rm -v ~/.dagu:/var/lib/dagu -p 8080:8080 \
  ghcr.io/dagucloud/dagu:latest dagu start-all
Screenshots
dagucloud/dagu: GitHub preview carddagucloud/dagu: Screenshot 1dagucloud/dagu: Screenshot 2dagucloud/dagu: Screenshot 3dagucloud/dagu: Screenshot 4

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.