Pick the archive that matches your platform and CPU architecture. All downloads are served directly from this site.
Drop-in compatible
INI config that mirrors Supervisor's. Use [supervisord] or [direktord]; existing [program:x] sections work as-is. Migration is a binary swap, not a rewrite.
Email alerts built in
SMTP with TLS, per-state triggers (FATAL, STOPPED, RUNNING…) and a five-second batching window so cascading failures don't flood your inbox.
A real REST API
Clean JSON endpoints for list, start, stop, restart, add, remove, logs and reload. Token or basic auth. No XML-RPC, no surprises, no hand-rolled parsers.
Built-in web UI
A real-time process list, start/stop/restart/remove controls, an add-service form, a live log viewer (stdout and stderr), auto-refresh, and keyboard access.
Add services at runtime
No more “edit config, reread, update, pray.” Add managed processes through the web UI or REST API without touching a config file.
Cross-platform
Linux, macOS and Windows. Unix domain sockets where they exist, TCP-on-localhost where they don't. Process groups handled correctly everywhere.
Smart restart policies
always, on-failure or never — with proper expected-exit-code handling and exponential backoff before going FATAL. No flapping services burning CPU.
Log rotation, solved
Per-process stdout and stderr rotation with configurable max bytes and backup count. No logrotate recipes, no cron, no awkward HUP dance.
Hot config reload
Send SIGHUP or call /api/reload. Config changes apply without restarting your services. Glob-based [include] works exactly as you'd expect.
Programme groups
Manage a whole web stack — app, worker, scheduler, queue runner — as one named unit. Start it, stop it, restart it. One command.
Single static binary
Two, actually: direktord and direktorctl. No interpreter, no pip install, no virtualenvs. Copy it across and run it.
Concurrency-safe core
Per-process locks and monitoring goroutines, async non-blocking notifications, and clean context cancellation. No global lock holding back your fleet.
Familiar config, modern tooling
If you've used Supervisor, you already know how to drive Direktor.
A predictable process lifecycle
Every state transition is deliberate, every retry bounded, every backoff exponential. When a process goes FATAL it stays FATAL until you say otherwise — no infinite restart loop chewing CPU at 4am. Email alerts ride the same state machine, so you hear from your inbox before you hear from the on-call rota.
Sysadmins inheriting Supervisor
An existing fleet you can't easily rip out. Migrate one host at a time — same config, same workflow, fewer 3am pages.
Single-node deployments
VPS side projects, on-prem boxes, edge devices. When systemd alone isn't enough and Kubernetes is too much, Direktor is the middle path.
Embedded & appliance builds
Locked-down arm64 systems where Python feels like a liability. A single 10MB binary that simply runs — no interpreter, no surprises.
Stop babysitting your supervisor.
Open source under GPLv3, with Linux, macOS and Windows binaries shipped per release. Drop it in, watch it work.