Post

HN
Hacker News

Armadillo – A DNS Server in Gleam for Homelab Use

A self-hosted DNS server for homelab use, written in Gleam.

Configure it once on your router as the DNS resolver and every device on the network resolves your local domains automatically.

When a DNS query arrives, the server checks its local record store first. If a matching record exists, it responds immediately with the configured IP. If no record matches, the query is forwarded to a configurable upstream resolver, the response is cached by TTL, and returned to the client.

Local records are stored in a DNS zone file and loaded into ETS on startup. All query resolution at runtime goes through ETS only, the zone file is never read during query handling.

Available at ghcr.io/vshakitskiy/armadillo:latest .

Mount a volume to /data to persist the zone file across restarts. The zone file is created automatically if it does not exist.