NOMAD Pi-hole / Unbound / staged Keepalived Replica
- Repo stack path:
/home/fizzlepoof/repos/truenas-stacks/pihole/nomad - Former live stack path:
/opt/pihole-nomad - Former node role: NOMAD Pi-hole replica on Servers VLAN
- Former staged VIP target:
10.5.30.53/24 - LAN interface:
enp5s0 - NOMAD LAN IP:
10.5.30.7
Status: retired on 2026-05-27 after network-wide DNS cutover to the Technitium trio.
Retired state summary:
pihole-nomad,unbound-pihole-nomad, andkeepalived-pihole-nomadwere retired on 2026-05-27.- The old VIP
10.5.30.53no longer answers. - Treat the files here as historical/reference material unless you intentionally revive this design.
Bring-up:
cd /opt/pihole-nomad
cp .env.example .env
bash bin/prepare_nomad.sh --up
Host note:
- If
systemd-resolvedis using the local DNS stub on port 53, disable the stub listener on NOMAD before trusting Pi-hole for live DNS:
sudo mkdir -p /etc/systemd/resolved.conf.d
cat <<'EOF' | sudo tee /etc/systemd/resolved.conf.d/99-pihole.conf
[Resolve]
DNSStubListener=no
EOF
sudo systemctl restart systemd-resolved
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Pi-hole on NOMAD is pinned to enp5s0 with FTLCONF_dns_interface=enp5s0 and FTLCONF_dns_listeningMode=SINGLE so it answers cleanly on the LAN IP without fighting Docker bridge noise.
Former live containers:
pihole-nomadunbound-pihole-nomad
Former HA container:
keepalived-pihole-nomad
Former LAN admin URL:
http://10.5.30.7:8954/admin/