Automation and scraping · Edition No. 49 · 13 Oct 2026

dkron-io/dkron

A distributed, fault-tolerant job scheduler with a web interface, where no single machine stopping breaks the schedule.

← Automation and scrapingRead the whole edition →
Dkron: a schedule across machines. Scheduled jobs that survive a machine dying.

4,737 stars · LGPL-3.0 from the repository sidebar. A FILE NAMED COMM-LICENSE ALSO SITS IN THE REPOSITORY ROOT and the page does not say what it covers; the edition names it as something to read before building a product on this. · v4.2.1, the release page reading 'October 7 09:45' with no year and taken as 2026-10-07 because that date is in the past and sits just before the recorded code date. ungh.cc gives pushedAt 2026-10-09T19:22:54Z. · Track this in Scout

A distributed, fault-tolerant job scheduler with a web interface, where no single machine stopping breaks the schedule.

▶Repo detailsthe review · specs · pros & cons · install

What it does

You run it as a cluster: server processes that hold the schedule and agent processes that do the work. The servers agree on the schedule using Raft, a protocol for keeping several machines consistent, and find each other using Serf, which spreads membership information between them by gossip. Each job can be pointed at any combination of machines, so a job can run on one, on all, or on everything with a particular label. A web screen built as a single-page application lists the jobs and their runs at /ui. Scaling is a single command: more server processes or more agents. It is written in Go and runs on Linux, macOS and Windows. The newest release is v4.2.1, from 7 October 2026. What the repository page does not do is explain the job types: it describes running scheduled commands on the cluster and leaves the list of executors to the documentation site. There is also a file named COMM-LICENSE in the repository alongside the LGPL-3.0 licence, and the page does not say what it covers.

Why it matters

Who it suits. Anyone whose scheduled jobs matter enough that a dead machine is an incident — nightly database dumps, billing runs, data imports that something downstream depends on. It is also the right answer when the jobs have to run on many machines at once, because targeting a group is built in rather than scripted. Skip it if one machine running one schedule has never let you down, because the clustering is the entire cost here and the entire benefit.

Verdict. A mature answer to a narrow problem, maintained since 2015, and the fourth-largest cost is understanding what you have built. Three machines agreeing about a schedule is more moving parts than most small setups need, and the honest question is whether a missed job would actually hurt. jhuckaby/Cronicle at 5,800 stars is the friendlier alternative with a much better interface and a single primary server, and Edition 45 covered it — note that its own page now announces a successor project while Cronicle itself continues to get bug and security fixes. kestra-io/kestra at 28,000 stars is the choice when the jobs form a pipeline with dependencies rather than a list of schedules, also covered in Edition 45. Two things to check before adopting it: the repository page gives no package-manager commands, so installation details live on the project's own site, and the COMM-LICENSE file sitting next to an LGPL-3.0 licence is worth reading if the plan is to build a product on this.

Stars4,737
LicenceLGPL-3.0 from the repository sidebar. A FILE NAMED COMM-LICENSE ALSO SITS IN THE REPOSITORY ROOT and the page does not say what it covers; the edition names it as something to read before building a product on this.
Latestv4.2.1, the release page reading 'October 7 09:45' with no year and taken as 2026-10-07 because that date is in the past and sits just before the recorded code date. ungh.cc gives pushedAt 2026-10-09T19:22:54Z.
Good
  • No single machine whose failure stops the schedule, which is the whole point of it.
  • A job can target one machine, all machines, or a labelled group, without scripting it.
  • Scaling servers or agents is one command, and a web screen lists every job and run.
Watch for
  • Several machines that have to agree with each other, which is real operational work.
  • The repository page lists no executors and no package-manager commands, so the documentation site is unavoidable.
  • A COMM-LICENSE file sits beside the LGPL-3.0 licence and the page does not explain what it covers.
Similar repositories
  • jhuckaby/Cronicle

    The same job with a friendlier interface and one primary server, at 5,800 stars, under an MIT licence; Edition 45 covered it, and its page now points at a successor project.

    Track this in Scout
  • kestra-io/kestra

    Orchestration for jobs that depend on each other rather than a list of schedules, at 28,000 stars, under Apache-2.0; Edition 45 covered it.

    Track this in Scout
Install
git clone https://github.com/dkron-io/dkron.git
cd dkron
docker compose up -d
Screenshots
dkron-io/dkron: Screenshot 1

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.