Pi-hole DNS Server
IP: 192.168.1.XXX (Primary), 192.168.1.XXX (Secondary) | Stack: pi5/infra/
Overview
Network-wide DNS server and ad blocker. Primary instance runs on dedicated LXC container, secondary on Pi5.
Access
- Primary: http://192.168.1.XXX/admin (ns1.internal.lab)
- Secondary: http://192.168.1.XXX/admin
Pi-hole v6 API Changes
Pi-hole v6 uses a different API structure. For Homepage-Dashboard widgets:
widget:
type: pihole
url: http://192.168.1.XXX
version: 6
key: your_pihole_password # Web password directly, not API tokenNote: Environment variable substitution may not work - use direct values in services.yaml.
Monitoring
- Prometheus Scrape Target: 192.168.1.XXX:9100 (node-exporter on LXC)
- Wazuh Agent: SRV-DNS01 (192.168.1.XXX)
- Logs: Collected by Promtail
Nebula-sync
Automatic synchronization between primary and secondary Pi-hole instances.
Configuration
Located on Pi5: /opt/pi5-stacks/nebula-sync/
# .env
NEBULA_PRIMARY=http://192.168.1.XXX|your_password
NEBULA_REPLICAS=http://192.168.1.XXX:8080|your_password