killed · MAR 2026

AdGuard at home (rolled back)

A DNS-level ad-blocker I deployed and then walked away from.

STACK · AdGuard Home / Docker / Unbound

I tried running AdGuard Home as the household DNS, then turned it off two evenings later. Replaced it with a one-line change to Cloudflare for Families at the router.

Why I started

DNS-level filtering felt tidy. One container, one config, ad-blocking and tracker filtering for everyone in the house without per-device fiddling.

What surfaced

Three things, in the order I noticed them:

  1. It was a single point of failure for the whole house. If the container fell over, nobody could resolve anything. Including the people who can’t restart a Docker container.
  2. The IoT devices I cared most about filtering — TVs, certain “smart” appliances — quietly used their own hard-coded DNS anyway. So the thing I most wanted to fix wasn’t being fixed.
  3. Support overhead. Anything that breaks the internet for a household of non-engineers is a support burden you’ll be paying for forever.

The decision

Rolled it back. Pointed the router at 1.1.1.3 / 1.0.0.3 (Cloudflare for Families). Closed the ticket with the rationale in the close comment. Total elapsed time: maybe forty minutes.

What I took from it

The instinct that catches a bad rollout at work — the cost just showed up, are we sure? — is the same one that should catch a bad weekend project. The trick isn’t never starting bad projects; it’s killing them cleanly when the trade-offs surface.

There’s a longer write-up coming about this as a pattern. For now, this entry exists so future-me doesn’t try the same thing again in six months and forget why I stopped.

← All projects