Skip to content

Releases: bassem-elsodany/resolvr-dns-dashboard

Resolvr 1.3.2

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 12 Oct 15:24
556b440

A rejected request now says why, and a dropped session cookie is explained.

What's new

  • The log says why a request was refused. A "Not authenticated" now writes a warning to the container log with the cause: no session cookie came with the request, a cookie came but its session is unknown or has expired, or a signed-in viewer tried an admin action. Tokens are never printed.
  • The sign-in form explains a cookie the browser is not sending. If sign-in succeeds but the very next request is refused, the form says so and names the two usual causes (COOKIE_SECURE=true over plain http://, or opening Resolvr by a different host name than its backend) instead of leaving later pages to fail with "Not authenticated".

Related to #18.

Upgrading

Pull the new images and restart: docker compose pull && docker compose up -d. Your data and accounts are unchanged.

Images

ghcr.io/bassem-elsodany/resolvr-backend, ghcr.io/bassem-elsodany/resolvr-frontend and ghcr.io/bassem-elsodany/resolvr, for linux/amd64 and linux/arm64, tagged 1.3.2, 1.3, 1 and latest.

Resolvr 1.3.1

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 12 Oct 15:06
d771141

Choose how much Resolvr logs.

What's new

Logging settings (requested in #25)

  • LOG_LEVEL: silent, error, warn, info (default) or debug.
  • LOG_REQUESTS: set false to drop the one-line-per-request access log and keep the rest.
  • LOG_FORMAT: text (default) or json, one object per line, for log collectors.
  • The backend and the frontend container read the same LOG_LEVEL and LOG_REQUESTS, so one pair of settings quiets both. The Home Assistant add-on takes them as options.
  • The container healthcheck (/healthz) is no longer logged unless LOG_LEVEL=debug.
  • Sign-ins, sign-outs and failed sign-ins, user and connection changes, admin actions (who, what, which node, result) and failed Technitium calls are logged. Passwords, tokens and request bodies never are.

To quiet a deployment, set LOG_LEVEL=warn on the backend and frontend services. See the Logging section of the README.

Upgrading

Pull the new images and restart: docker compose pull && docker compose up -d. Your data and accounts are unchanged, and the default logging is the same as before apart from the healthcheck lines.

Images

ghcr.io/bassem-elsodany/resolvr-backend, ghcr.io/bassem-elsodany/resolvr-frontend and ghcr.io/bassem-elsodany/resolvr, for linux/amd64 and linux/arm64, tagged 1.3.1, 1.3, 1 and latest.

Resolvr 1.3.0

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 12 Oct 10:15
016b18d

Resolvr now understands Technitium clusters.

What's new

Technitium cluster support (Technitium v14 and later; requested in #19)

When the server you connect to is part of a cluster, every panel gets a scope: the whole cluster (Technitium's aggregate statistics) or any single node. A standalone server looks exactly as before.

  • Overview: a scope chip per panel, Compare nodes on Queries over time, and a Cluster nodes panel with each node's role, state and share of traffic.
  • Clients and Query Logs: every node's query log merged by time, with a Node column, per-node counts, an unreachable-node banner and a merged CSV export.
  • Cache and Zones: the nodes side by side, with what is missing or different on a node flagged, and actions that ask which node to apply to.
  • Allowed and Blocked Zones: whether each node has caught up with Technitium's sync, with an Update now per node.
  • DHCP, DNS Resolver, DNS Apps, Server Info and Sessions: cover every node, with a Node column or a side-by-side comparison.

Layout

  • Charts keep a fixed height and a fluid width, and the list and table pages use the full window width.
  • New screenshots, including a cluster section, in the README.

Upgrading

Pull the new images and restart: docker compose pull && docker compose up -d. Your data and accounts are unchanged. Nothing to configure: the cluster views appear on their own when your Technitium server is part of a cluster.

Images

ghcr.io/bassem-elsodany/resolvr-backend, ghcr.io/bassem-elsodany/resolvr-frontend and ghcr.io/bassem-elsodany/resolvr, for linux/amd64 and linux/arm64, tagged 1.3.0, 1.3, 1 and latest.

Resolvr 1.2.0

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 12 Oct 05:36

Saving a Technitium connection now tells you what actually went wrong.

What's new

Clearer connection errors

  • A rejected token names the Technitium server that answered and says where to create an API token (Administration > Sessions > Create API Token), instead of only "Invalid token or session expired."
  • A reply that is not Technitium's API response (an HTTPS-only port, a reverse proxy, a login wall) is shown with its HTTP status and text, instead of a JSON parser error.
  • A server that cannot be reached shows the cause (connection refused, unknown host, TLS error), instead of "fetch failed".
  • The reason is also written to the backend log (docker logs), never including the token.

Fixes #18.

Upgrading

Pull the new images and restart: docker compose pull && docker compose up -d. Your data and accounts are unchanged.

Images

ghcr.io/bassem-elsodany/resolvr-backend, ghcr.io/bassem-elsodany/resolvr-frontend and ghcr.io/bassem-elsodany/resolvr, for linux/amd64 and linux/arm64, tagged 1.2.0, 1.2, 1 and latest.

Resolvr 1.1.0

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 09 Oct 07:38

Resolvr now runs as a Home Assistant add-on, and as a single container anywhere.

What's new

Home Assistant add-on

  • Resolvr appears in the Home Assistant sidebar and uses your Home Assistant sign-in, so there is no separate login and no default accounts.
  • The Technitium address and API token are set in the add-on's Configuration tab. The token is never sent to the browser.
  • Install it from homelab-ha-addons: add that repository in Home Assistant, then install Resolvr.

Single-container image

  • ghcr.io/bassem-elsodany/resolvr (amd64 and arm64): the API also serves the web app, so Resolvr is one container instead of two. See Option 3 in the README. The existing two-container setup is unchanged.

Also

  • The browser-tab and touch icons are now the Resolvr globe, replacing the Vite template's bolt.
  • The app works under a path prefix (needed by Home Assistant's ingress); nothing changes for normal installs.

Upgrading

Pull the new images and restart: docker compose pull && docker compose up -d. Your data and accounts are unchanged.

Images

ghcr.io/bassem-elsodany/resolvr-backend, ghcr.io/bassem-elsodany/resolvr-frontend and ghcr.io/bassem-elsodany/resolvr, for linux/amd64 and linux/arm64, tagged 1.1.0, 1.1, 1 and latest.

Resolvr 1.1.0 release candidate 1

Pre-release

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 09 Oct 07:20

A release candidate for 1.1.0, to test the Home Assistant add-on before the stable release.

New

  • Home Assistant add-on mode. Resolvr runs in the Home Assistant sidebar and uses your Home Assistant sign-in, so there is no separate login. The Technitium address and API token are set in the add-on's Configuration tab.
  • A single-container image, ghcr.io/bassem-elsodany/resolvr (amd64 and arm64): the API also serves the web app. See Option 3 in the README.
  • The browser-tab and touch icons are now the Resolvr globe instead of the Vite template's bolt.

The existing two-container setup is unchanged. This is a pre-release: latest still points at 1.0.0.

Resolvr 1.0.0

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 09 Oct 06:57

The first stable release of Resolvr, a self-hosted dashboard for Technitium DNS Server.

What's new since 0.1.0

Overview, in four tabs

  • Stat tiles with sparklines and change against the previous period.
  • Traffic: queries over time (stack allowed vs. blocked, drag to select a window and open it in Query Logs), query types, and a 7-day busy-hours heatmap.
  • Resolution: where answers come from, response outcomes, upstream response time, and a flow diagram of how queries are resolved.
  • Top lists and Infrastructure (DHCP scope usage, zones by type, cache size over time).
  • Every chart is clickable and opens Query Logs filtered to what you clicked.

Clients page

  • A client explorer: summary tiles, a traffic-share bar, a searchable and filterable list (heavy blocking, rate limited, new, quiet), and a detail panel with DHCP lease, activity, top and blocked domains, protocols and latest queries.

Blocked Zones, redesigned

  • A status card with when the lists were last updated and when the next update is, an Update now button, and a history of the domain total after each refresh.
  • Tabs for Feeds (grouped, with one save bar; section dividers are preserved), Your domains (searchable, paste-a-list, undo) and Check a domain (shows which feed blocked a name).

Also

  • The app version is shown next to the name in the sidebar.
  • The Live toggle remembers its state, page content is left-aligned, and the time-range and tab choices are kept in the URL.
  • Fixed: both Docker Compose files failed validation on current Docker Compose (the README's first install option); CI now checks them.

Upgrading

Pull the new images and restart: docker compose pull && docker compose up -d. Your data and accounts are unchanged.

A few small things are remembered in your browser rather than on the server (the open tab, the block-list and cache history, and which clients you have seen), so they start fresh on a new browser. The Resolution, Clients and Query Logs pages need one of Technitium's query-logging apps installed on the server.

Images

ghcr.io/bassem-elsodany/resolvr-backend and ghcr.io/bassem-elsodany/resolvr-frontend, for linux/amd64 and linux/arm64, tagged 1.0.0, 1.0, 1 and latest.

v0.1.0

Choose a tag to compare

@bassem-elsodany bassem-elsodany released this 09 Oct 04:54

First tagged release of Resolvr.

Pinned Docker images are published to GHCR for linux/amd64 and linux/arm64:

  • ghcr.io/bassem-elsodany/resolvr-backend:0.1.0
  • ghcr.io/bassem-elsodany/resolvr-frontend:0.1.0

Includes live query logs, clients, cache, zones, DHCP and blocking views, role-based access, host-to-IP mappings for admins, runtime BACKEND_URL for reverse-proxy setups, and favicon fixes. See the README for deployment options.

Pin a version rather than latest if you want stability: latest follows every merge to main.