Skip to main content
DNZ is one program, dnz, that contains the DNS server, the API and the web dashboard. All data lives in one SQLite file, or in Postgres or MySQL. It comes with dnz-proxy, the optional reverse proxy.

Docker

The quickest way to run it on a server.

systemd

The binary as a sandboxed Linux service.

Docker image

The image runs on linux/amd64 and linux/arm64 and contains both dnz and dnz-proxy.
Pre-releases (versions with a -, such as 1.1.0-rc.1) never get the latest tag. Continue with Docker.

Linux binary

To run DNZ without Docker, install dnz and dnz-proxy with one command:
The script downloads both binaries for the machine’s architecture (amd64 or arm64) from the Docker image, without needing Docker, checks them against the image’s checksums, makes sure they run, and puts them in /usr/local/bin (asking for sudo when it needs to). Run it again to upgrade; it tells you to restart the services if they’re running. Pass options after sh -s --:
Copy the binaries out of the image with Docker. Docker picks the image for the machine’s architecture, so run this on the server itself, or add --platform linux/arm64 (or linux/amd64) to docker create for another one.
The binary is self-contained: the dashboard, the database migrations and the TLS root certificates are built in. It needs a glibc-based Linux distribution (Debian 12, Ubuntu 22.04, RHEL 9 or newer), not Alpine or another musl-based one. Continue with systemd.

Check that it runs

Without a command, dnz runs the server. Every other command manages a running server; see the CLI.

Next

1

Run it as a service

3

Put HTTPS in front of the dashboard

4

Create the first admin