BrambleGate

A small, GUI-managed DNS front door for a homelab.
Sits in front of your existing ad-block resolver and adds the parts it doesn't do.

Docker quickstart View on GitHub

What is BrambleGate?

BrambleGate sits in front of your existing ad-block resolver (Pi-hole / AdGuard Home / Technitium) and handles the things those tools don't: local hostnames, per-VLAN answers, encrypted DNS listeners, and discovering .local devices. Everything it doesn't own locally is forwarded straight to your upstream resolver, so it's an addition to your setup, not a replacement.

What it does

  • Local home.arpa records, managed live in a web GUI
  • Per-VLAN split-horizon answers for the same name
  • DoT/DoH/DoQ listeners with real, auto-renewing certs
  • Bridges .local mDNS devices into stable home.arpa names
  • Forwards everything else upstream to your ad-block resolver

What it doesn't do

  • Replace your ad-block resolver — it forwards to one
  • Ad blocking / filtering itself
  • Distributed or multi-node deployment
  • Require inbound port exposure for encrypted DNS certs (uses ACME DNS-01)

Features

Quick start

You need Docker. BrambleGate listens on port 53, so nothing else on the host may already be bound to it.

# Grab the compose file
curl -O https://raw.githubusercontent.com/mallardduck/BrambleGate/main/deploy/docker-compose.yml
docker compose up -d

On first run, with no settings.yaml, BrambleGate writes a working default that forwards everything to 1.1.1.1 — so DNS resolves immediately. Then open the GUI at http://localhost:8080, set Upstream DNS to your existing ad-block resolver, and add local records.

See the full quickstart and docs on GitHub →