DOCSCONFIGURATION

Your network. Your configuration.

Start with a small configuration, then add exactly what your network needs.

Start with the essentials

This development example listens on localhost at port 5353, forwards queries to upstream resolvers, and enables the cache. Save it as nothingdns.yaml.

nothingdns.yamlyaml
server:
  port: 5353
  bind:
    - 127.0.0.1

upstream:
  servers:
    - 1.1.1.1:53
    - 8.8.8.8:53

cache:
  enabled: true
  size: 10000

Validate before you run

Use the binary’s configuration validator to check your file, then start the server with the same configuration.

Terminalbash
nothingdns -validate-config -config ./nothingdns.yaml
nothingdns -config ./nothingdns.yaml

# Test the local development listener
dig @127.0.0.1 -p 5353 example.com

Choose how you resolve

Configure upstream forwarding, or enable iterative resolution with resolution.recursive. Resolution timeouts are configured under resolution.timeout. QNAME minimization is available for iterative resolution.

nothingdns.yamlyaml
resolution:
  recursive: false
  timeout: 5s
  qname_minimization: true

Go further

The full reference covers caching, blocklists, RPZ, access controls, DNSSEC, storage, transports, metrics, and cluster settings. Check the source-aligned example when adding fields.