Nicholas Penree

Infinitely Curious

This is the personal weblog of Nicholas Penree.

Announcing Isotope: A Modern UI for Technitium DNS

I've been running Technitium DNS Server for a while now. It's honestly one of the best self-hosted DNS solutions out there - powerful as hell, actively maintained, and packed with features. But the default web UI? It gets the job done, but let's just say it wasn't winning any beauty contests.

So I built my own.

Isotope is a clean, fast web interface for Technitium DNS Server. It's built with React 19, Tailwind CSS v4, and shadcn/ui - basically all the modern stuff that makes building UIs not suck.

Why "Isotope"?

Technetium is element 43 on the periodic table. Fun fact: in nature, it has no stable isotopes. Now it does.

Features

Isotope covers pretty much everything you'd want to do with your Technitium server:

  • Dashboard - Real-time stats with query charts, top clients, top domains, the works
  • Zone Management - Full DNS record editing with support for all record types
  • Cache Browser - Browse and manage cached records with domain-level controls
  • Block & Allow Lists - Manage your DNS filtering with a curated blocklist picker
  • DHCP - Scope and lease management if you're using Technitium for DHCP
  • DNS Client - Test queries without leaving the UI
  • Logs - Query and server log viewers with advanced filtering
  • Admin Panel - Users, groups, sessions, permissions - all that good stuff
  • Cluster Support - For when one DNS server isn't enough
  • Dark Mode - Because we're not savages
  • Responsive - Works on your phone too, which is honestly more useful than I expected

Getting Started

The easiest way to run Isotope is with Docker:

1docker run -d \
2 -p 8080:80 \
3 -e TECHNITIUM_API_URL=http://your-technitium-server:5380 \
4 --name isotope \
5 ghcr.io/drudge/isotope:latest

Then hit up http://localhost:8080 and you're good to go.

Check out the README for Docker Compose examples and other deployment options.

Related Links