> ## Documentation Index
> Fetch the complete documentation index at: https://dnzwithazee.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Run DNZ, finish the setup page, add a zone and answer your first query.

This gets DNZ running on your machine with Docker, the quickest way to try it. For a server
install, see [Install](/deploy/install).

**1. Start DNZ**

```bash theme={null}
docker run -d --name dnz --restart unless-stopped \
  -p 53:53/udp -p 53:53/tcp -p 8080:8080 \
  -v dnz-data:/data -e TZ=Asia/Jakarta \
  terrificci/dnz:latest
```

DNS listens on port **53** (UDP and TCP) and the dashboard on **8080**. Data is kept in the
`dnz-data` volume. For a Compose file and every setting, see [Docker](/deploy/docker).

> [!NOTE]
>
> On Ubuntu and Debian, systemd-resolved already uses port 53. If DNZ can't bind it, see
> [Port 53 and systemd-resolved](/deploy/port-53).

**2. Finish the setup page**

Open `http://localhost:8080`. While there are no users yet, every page leads to **/setup**,
which asks for:

1. the **admin account** (a superadmin),
2. the first **division** and, optionally, the first zone,
3. **forward DNS**: a resolver preset (Cloudflare, Google, Quad9) or your own, and a strategy.

You're signed in when it's done. See [First run](/get-started/first-run) for the other ways to
create the first admin.

**3. Add a zone and a record**

**Dashboard**

Go to **DNS → Zones**, choose **Create New → Zone**, enter `example.com`, then add an `A`
record named `www` with the value `192.0.2.10`.

**CLI**

```bash theme={null}
dnz login --server http://localhost:8080
dnz zone add example.com
dnz record add example.com www A 192.0.2.10
dnz record list example.com
```

**4. Query it**

```bash theme={null}
dig @127.0.0.1 www.example.com
```

`www.example.com` is answered from your zone. Any other name, say `dig @127.0.0.1 github.com`,
is forwarded to the upstreams you picked and shows up under **DNS → Query Logs**.

**5. Point a device at it**

Set a device's DNS server (or your router's DHCP DNS setting) to the IP address of the machine
running DNZ. See [Pointing clients at DNZ](/deploy/clients).

## Next steps

> **[Concepts](/get-started/concepts)**
>
> Divisions, roles, local and forwarded names.

> **[Deploy for real](/deploy/install)**
>
> systemd, port 53, HTTPS and backups.

> **[Forwarding](/dns/forwarding)**
>
> Encrypted upstreams, strategies and conditional rules.

> **[Filtering](/dns/filtering)**
>
> Block ads and malware for the whole network.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.