LiteBlox

A web console that runs your DNS, DHCP and time servers, and keeps track of your addresses. Built for a home or small network.

InstallRead the docs

Version 4.1.1, released 2026-11-08 · MIT licensed

The LiteBlox Dashboard: what needs attention, each node's health, and DNS query and DHCP lease graphs

Give it a couple of Debian boxes with a sudo account. It installs BIND9 (and, if you want, Kea DHCP and chrony), takes over their whole configuration, and from then on you manage everything in the browser: zones, records, server settings, DHCP subnets and reservations, live leases, failover, and which addresses are used and free. One DNS server is the primary for every zone and the others are its secondaries.

Run all of it or only the parts you want: IPAM alone with a scanner node, say, or DHCP next to the DNS server you already have.

What it does

Modules

  • DNS, DHCP, Time and IPAM can each be on or off, in any mix. A node can run BIND, Kea, chrony, any of them, or none of them (a scanner that only watches its networks for IPAM).

DNS (BIND9)

  • Takes over fresh servers, or existing ones with their own config (it proves the new config is equivalent first).
  • One primary, the rest secondaries (NOTIFY + incremental transfers). Promote moves the primary even when the old one is down; it's demoted automatically when it comes back.
  • Forward, reverse and forwarding-only zones. Static zones are edited row by row or many at once (tick rows, paste lines, import a CSV) with drafts, review and automatic PTR records; every publish is a git commit you can compare or restore. Move an address changes its names, PTR, reservation and IPAM entry in one go.
  • Dynamic zones for DHCP and ACME clients, with TSIG keys and per-zone grants.
  • Per-server options, global ACLs and keys, and a warning within a minute when someone edits a config by hand.

DHCP (Kea, optional)

  • Subnets, pools, options and reservations; a live leases view.
  • Clients registered in DNS automatically: in LiteBlox's own zones (following whichever server is the DNS primary), or at another DNS server with a TSIG key.
  • A hot-standby failover pair over mutual TLS.
  • Names whose removal from DNS was lost are found and, if you like, cleaned up hourly.

Time (chrony, optional)

  • One source list for every node; the nodes serve time to your network, and keep agreeing with each other if the internet goes away.

IPAM

  • Networks and named ranges, nested per site, with a map of every address and what uses it, read live from DNS and DHCP: nothing to keep in sync. Without LiteBlox's DNS, names are kept in IPAM and looked up as PTRs at your resolver.
  • Devices seen on the network (from the servers' ARP tables, with vendor names), labels per device, and a warning when two devices fight over one address.
  • "Give me the next free address" (or a block of them), checked with a ping first, from the API or a small command-line client that can also name them and take them away again.

And

  • A Dashboard with graphs, a Jobs page, search across every zone and DHCP.
  • A subnet reference and a visual subnet calculator under Tools, and a light/dark switch.
  • A REST API with per-user tokens (read-only or full) and a Swagger page.
  • Local accounts, admin or read-only, and an audit log of every change.
  • It runs entirely on your own network: no cloud service, no telemetry, and nothing loaded from a CDN.
  • Nightly backups of each node's files; if LiteBlox itself is lost, a new one can re-adopt the nodes.
  • Full documentation, also built in under Help.

Screenshots

How it works

LiteBlox runs in one container. On each server it installs a small agent (Python, standard library only) that it talks to over HTTPS with mutual TLS. SSH is used only during setup, with credentials you type into the setup page; the agent runs as an unprivileged user and needs no sudo. Every change to a server is checked on that server first (named-checkconf, kea-dhcp4 -t), applied one server at a time, and rolled back if a server stops answering.

Good to know

If LiteBlox goes down

The servers are ordinary BIND, Kea and chrony, so they keep answering DNS, DHCP and time without it, and DHCP clients keep registering their names. Editing, health checks and scheduled backups stop until it's back. There's no lock-in either: the configuration on each server is plain files, and a server you remove from LiteBlox goes on serving what it has.

What it doesn't do

Who's behind it

LiteBlox is one person's project. It has run my home network's DNS, DHCP and time since November 2026, but it comes with no support, so keep a backup of ./data.

License and credits

LiteBlox is Copyright (c) 2026 Dorkbrain (dorkbrain.com), released under the MIT License. The full text is the LICENSE file in the source download and in the image. It's provided as is, without warranty of any kind.