Skip to content

Dashboard

DNSao includes a built-in web dashboard on server.webPort, which defaults to 8044.

http://DNSAO_IP:8044

Pages

Page Path Purpose
Home / Query totals, cache behavior, average response time, and query timeline
Queries /query Searchable query history with client, domain, type, answer, source, and elapsed time
Upstream /upstream Per-upstream query counts, share, min/avg/max latency, last seen, and hourly usage
VM Stats /vm JVM heap, GC, and thread health for the running DNSao process

Authentication

The dashboard is open by default. Set server.authPass to require login for dashboard pages and JSON API endpoints.

server:
  webPort: 8044
  authPass: "change-this-password"

Important security details:

  • Dashboard authentication is sent over HTTP unless you put DNSao behind an HTTPS reverse proxy.
  • Use authPass only on trusted networks or behind HTTPS.
  • The DNS-over-HTTPS endpoint /dns-query remains public even when dashboard authentication is enabled.

Data Retention

DNSao persists dashboard metrics and query history to SQLite by default. Configure server.statsDbPath for a stable location:

server:
  statsDbPath: "/etc/dnsao/stats.db"

The parent directory must already exist and be writable by the DNSao process.

For ephemeral deployments, set server.useMemoryStorage: true to keep stats in memory only.

APIs

The dashboard uses JSON endpoints under /api/* plus legacy stats/query endpoints. When server.authPass is set, these endpoints require authentication.

Useful endpoints include:

  • /stats
  • /queries
  • /api/upstream-stats
  • /api/vm-stats
  • /api/state

The DNS-over-HTTPS endpoint is:

  • /dns-query