Loading...
Loading...
Configures Pi-hole local DNS records to enable local network resolution of *.temet.ai domains. Use when you need to set up DNS, add local DNS entries, configure Pi-hole DNS, troubleshoot DNS resolution, or make services resolve locally. Triggers on "setup DNS", "configure Pi-hole DNS", "add DNS record", "DNS not resolving", "local DNS setup", or "why can't I access [service].temet.ai locally". Works with Pi-hole container, domains.toml, docker-compose.yml, and manage-domains.sh.
npx skill4agent add dawiddutoit/custom-claude pihole-dns-setupcd /home/dawiddutoit/projects/network && ./scripts/manage-domains.sh apply# Get Pi IP
PI_IP=$(hostname -I | awk '{print $1}')
# Test DNS resolution
dig @localhost pihole.temet.ai +shorthostname -I | awk '{print $1}'192.168.68.135# From network interface
ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
# From Pi-hole container environment
docker exec pihole printenv | grep PIHOLE_INTERFACEdomains.toml# List all configured services with DNS entries
./scripts/manage-domains.sh listgrep -E "^subdomain = |^dns_ip = " /home/dawiddutoit/projects/network/domains.toml| Service | Domain | DNS IP |
|---|---|---|
| Pi-hole | pihole.temet.ai | 192.168.68.135 |
| Jaeger | jaeger.temet.ai | 192.168.68.135 |
| Langfuse | langfuse.temet.ai | 192.168.68.135 |
| Home Assistant | ha.temet.ai | 192.168.68.135 |
| Code Server | code.temet.ai | 192.168.68.135 |
| Sprinkler | sprinkler.temet.ai | 192.168.68.105 |
| Webhook | webhook.temet.ai | 192.168.68.135 |
| Root | temet.ai | 192.168.68.135 |
cd /home/dawiddutoit/projects/network && ./scripts/manage-domains.sh applygenerate-pihole-dns.pyFTLCONF_dns_hosts# Edit docker-compose.yml FTLCONF_dns_hosts section
# Then restart Pi-hole
docker compose -f /home/dawiddutoit/projects/network/docker-compose.yml restart piholeFTLCONF_dns_hostsenvironment:
FTLCONF_dns_hosts: |
192.168.68.135 pihole.temet.ai
192.168.68.135 jaeger.temet.ai
192.168.68.105 sprinkler.temet.aidig @localhost pihole.temet.ai +short
# Expected: 192.168.68.135for domain in pihole jaeger langfuse ha code webhook; do
echo -n "$domain.temet.ai -> "
dig @localhost $domain.temet.ai +short
done# Replace 192.168.68.135 with Pi's IP
dig @192.168.68.135 pihole.temet.ai +shortdocker exec pihole pihole -t
# Watch live DNS queries192.168.68.1351.1.1.1# On the device, check what DNS server it's using
cat /etc/resolv.conf
# Should show: nameserver 192.168.68.135| File | Purpose |
|---|---|
| DNS configuration deep-dive, Pi-hole internals, troubleshooting |
| Common scenarios and configurations |
| DNS verification script |
dig @localhost domain.temet.aihttps://domain.temet.aidigdigdocker ps | grep pihole127.0.0.1FTLCONF_dns_hostsgenerate-pihole-dns.pydig @localhost domain +short