Skip to content

System Requirements ​

Dagu is one binary. It needs no database, message broker, or language runtime.

Platforms ​

Dagu's automated tests run on Linux x86-64 and Windows x86-64 on every change. The other builds are compiled from the same source at each release, but no automated test runs on them.

Operating systemBuildsTested on every change
Linuxamd64, 386, arm64, armv6, armv7, ppc64le, s390xamd64
Windowsamd64, 386, arm64amd64
macOSamd64, arm64None
Way to run itSupported versions
Container imageslinux/amd64, linux/arm64, linux/arm/v7. See Docker Images.
Kubernetes, with the Helm chartKubernetes 1.19 or newer

Some step types need software of their own, such as a Docker daemon for Docker steps.

Network ports ​

All ports are configurable, and all are inbound to the Dagu host.

PortUsed byNeeded when
8080Web UI and APIAlways, for dagu server and dagu start-all
8090Scheduler health endpointProbing dagu scheduler
50055CoordinatorDistributed workers are used

For outbound connections, see the firewall table. Dagu needs none to schedule and run workflows.

Storage ​

Use a local file system, or NFS for a standby scheduler.

A shared volume holds many small files. Plan for inode use as well as bytes.

Sizing ​

These figures were measured on one machine: an Apple silicon Mac with 14 cores and 48 GB of memory, on a build of Dagu after 2.26.0. They are a starting point. Measure your own workload before you commit to a size.

MeasurementResult
dagu start-all at idleAbout 90 to 110 MB of memory (RSS)
dagu start-all while 25 runs were active91 MB
Each running DAG run, as its own processAbout 78 MB (RSS)
Disk per run with two steps and one line of output eachAbout 42 KB and 7 files

RSS counts memory shared between processes, so adding it across runs overstates the total.

Estimate from these:

  • Memory: 150 MB, plus 80 MB for each DAG run at peak concurrency, plus what your steps use.
  • CPU: Dagu itself is rarely the limit. Size for your steps.
  • Disk: the size of your step output, retained for as long as hist_retention_days keeps it, plus artifacts and about 7 files per run for each run kept.

To limit concurrency, use queues. To stop history from growing, see Operations.

Dagu is open source under the GNU General Public License v3.0.