--- id: dc3ed16c-18db-4011-b866-3730316cd68d type: problem title: "Pi-hole v6 DNS sync script needs update for new TOML config format" tags: [pihole, npm, dns, sync, v6, toml, homelab, troubleshooting] importance: 0.7 confidence: 0.8 created: "2026-02-07T15:12:17.978779+00:00" updated: "2026-02-07T15:12:17.978779+00:00" relations: - target: fae8f322-d5c6-4ffb-9735-49e9f46940e8 type: SOLVES direction: incoming strength: 0.5 --- ## Problem The npm-pihole-sync.sh script at /mnt/NV2/Development/claude-home/server-configs/networking/scripts/npm-pihole-sync.sh is outdated for Pi-hole v6. **What happened:** - User removed pd.manticorum.com NPM proxy rule to route through Cloudflare - Script synced NPM hosts but didn't remove pd.manticorum.com from Pi-hole DNS - Caused continued 502 errors when accessing pd.manticorum.com API **Root Cause:** Pi-hole v6 changed DNS record storage: - OLD (v5): /etc/pihole/custom.list - NEW (v6): /etc/pihole/pihole.toml (dns.hosts array in TOML format) AND /etc/pihole/hosts/custom.list **Manual Fix Applied:** ssh pihole "docker exec pihole sed -i '/pd\.manticorum\.com/d' /etc/pihole/pihole.toml /etc/pihole/hosts/custom.list && docker exec pihole pihole reloaddns" **Script Requirements:** 1. Update /etc/pihole/hosts/custom.list (traditional format) 2. Update /etc/pihole/pihole.toml hosts array (TOML format: hosts = ["IP DOMAIN", ...]) 3. Use 'pihole reloaddns' instead of 'pihole restartdns reload' 4. Fix secondary pihole SSH (use IP with -o StrictHostKeyChecking=no instead of hostname) **Challenges:** - Pi-hole container has NO python3, NO perl - Need pure shell/sed/awk solution - TOML hosts array is multi-line regex replacement **TOML Format:** hosts = [ "10.10.0.16 domain1.com", "10.10.0.16 domain2.com" ] **Secondary Pihole:** - IP: 10.10.0.226 - User: cal - Need: ssh -o StrictHostKeyChecking=no cal@10.10.0.226 **Files:** - Script: /mnt/NV2/Development/claude-home/server-configs/networking/scripts/npm-pihole-sync.sh - Primary Pi-hole: 10.10.0.16 (pihole container) - Secondary Pi-hole: 10.10.0.226 (pihole container)