← Back to all sparks
D

Dokku

INFRA · APIS
Velocity5.0

Self-hosted platform-as-a-service built on Docker

Dokku is quietly turning into a k3s front-end with a JSON-first CLI.

paaskubernetesk3scli-automationjson-outputself-hosting
Current state
The 0.38 patch line keeps shipping small releases with real features in them. v0.38.27 drops the local-image requirement for k3s deploys, reports Traefik DNS-provider variables as global keys, adds storage directory mode and removal flags, and introduces a vector-cron-sink so scheduled cron output has somewhere to go. It follows v0.38.26, which brought wildcard domains, custom cert issuers, and kernel sysctls to the k3s scheduler.
Where it's heading
Two threads run through almost every release: closing the gap between the k3s scheduler and the classic single-host path, and making every command machine-readable. The k3s work has moved from basic scheduling to the operational details — certificates, DNS, sysctls, and now deploys that no longer assume a local Docker image — which is the sequence a project follows when it expects the Kubernetes path to become the default rather than the alternative.
Prediction
Expect the remaining k3s parity gaps to keep closing one release at a time, and expect the logging work started with vector-cron-sink to extend to other task types that currently have no sink.

Recent moves

  1. 6d ago

    k3s deploys drop the local-image requirement; cron output gains a sink

    Removing the local-image requirement for k3s deploys is the notable item — it takes a single-host assumption out of the Kubernetes path, continuing the parity work of recent releases. Alongside it, storage gains directory mode and removal flags, Traefik DNS-provider variables surface as global keys, and a vector-cron-sink gives scheduled cron output a destination.

    View source ↗
  2. 10d ago

    Wildcard domains and custom cert issuers land on k3s

    Three of the four new features here are k3s-only: wildcard domains now route through Traefik, operators can point at cert issuers they manage themselves, and the k3s scheduler accepts kernel sysctls. It is the clearest single release of the pattern that defines this stretch — the Kubernetes path catching up to what the classic nginx path always did.

    View source ↗
  3. 28d ago

    Command injection fix, plus per-app Let's Encrypt on k3s

    A command-injection hole in how docker options were eval'd gets closed, and per-app Let's Encrypt emails become configurable on k3s. A two-item release, but both items are ones an operator running multi-tenant apps would act on.

    View source ↗
  4. 1mo ago

    Dependency bumps and buildpack documentation

    Entirely dependabot bumps, test-image updates, and a docs cross-link to the buildpack management page. Nothing changes for anyone running Dokku.

    View source ↗
  5. 1mo ago

    Certificate CN parsing fixed for OpenSSL 3.x

    One real fix — cert CN and subject parsing under OpenSSL 3.x — surrounded by a dozen dependabot bumps. Relevant only to hosts that had already hit the parsing failure.

    View source ↗
  6. 1mo ago

    JSON output spreads across reports and plugin lists

    The densest feature release of the group, and almost all of it is about making Dokku scriptable: `--format json` for plugin:list, docker-options exposed as structured lists, autoscaling-auth state readable back, buildpack lists replaceable atomically, and the bash `:report` subcommands ported to Go. This is the release where the machine-readable CLI direction becomes unmistakable.

    View source ↗