Set up and manage Pi-hole DNS, blocking, and home network resolution.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "homelab-pihole-dns" skill from askskill: 1. Download https://raw.githubusercontent.com/affaan-m/ECC/main/skills/homelab-pihole-dns/SKILL.md 2. Save it as ~/.claude/skills/homelab-pihole-dns/SKILL.md 3. Reload skills and tell me it's ready
Create a Pi-hole installation guide for a homelab on Ubuntu Server. Include both Docker and native installation methods, initial web admin setup, common port explanations, and how to point the router or clients to Pi-hole after installation.
A step-by-step installation guide with commands, key configuration notes, and post-install client setup.
I want Pi-hole to forward queries over DNS-over-HTTPS. Recommend an approach and explain how to configure Cloudflared or a similar component, how to set the upstream server in Pi-hole, and how to verify it works.
An actionable DoH setup plan with verification steps and common troubleshooting advice.
My home network has DNS resolution issues: some devices cannot open websites, and Pi-hole logs show blocks and timeouts. Give me a systematic troubleshooting workflow covering DHCP, upstream DNS, blocklists, local DNS records, caching, and client settings.
A prioritized troubleshooting checklist to quickly identify and fix DNS resolution problems.
Pi-hole is a network-wide DNS ad blocker that runs on a Raspberry Pi or any Linux host. Every device on your network gets ad and malware domain blocking automatically — no browser extension needed.
nas.home.lan, pi.home.lan)Normal flow (without Pi-hole):
Device → requests ads.tracker.com → ISP DNS → real IP → ads load
With Pi-hole:
Device → requests ads.tracker.com → Pi-hole DNS → blocked (returns 0.0.0.0) → no ad
All DNS queries go through Pi-hole first.
Pi-hole checks against blocklists.
Blocked domains return a null response — the ad/tracker never loads.
Allowed domains get forwarded to your upstream resolver (Cloudflare, Google, etc.).
Docker is the easiest way to install Pi-hole and makes updates and backups straightforward.
# docker-compose.yml
services:
pihole:
image: pihole/pihole:<pinned-release-tag>
container_name: pihole
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp" # Web admin
environment:
TZ: "America/New_York"
WEBPASSWORD: "${PIHOLE_WEBPASSWORD}" # set via .env file or secret
PIHOLE_DNS_: "1.1.1.1;1.0.0.1"
DNSMASQ_LISTENING: "all"
volumes:
- "./etc-pihole:/etc/pihole"
- "./etc-dnsmasq.d:/etc/dnsmasq.d"
restart: unless-stopped
cap_add:
- NET_ADMIN # only needed if Pi-hole will serve DHCP
Replace <pinned-release-tag> with a current Pi-hole release tag before deploying.
Avoid latest for long-lived DNS infrastructure so upgrades are deliberate and
reviewable.
Set PIHOLE_WEBPASSWORD in a .env file next to docker-compose.yml, chmod it to
600, and keep it out of git — do not put the password directly in the compose file.
Access web admin at: http://<pi-ip>/admin
Pi-hole requires a static IP before installing.
# Step 1: Assign a static IP (edit /etc/dhcpcd.conf on Pi OS)
sudo nano /etc/dhcpcd.conf
# Add at the bottom:
interface eth0
static ip_address=192.168.3.2/24
static routers=192.168.3.1
static domain_name_servers=192.168.3.1
# Step 2: Download and inspect the installer before running it.
# Prefer the package or installer path documented by Pi-hole for your OS/version.
curl -sSL https://install.pi-hole.net -o pi-hole-install.sh
less pi-hole-install.sh # review before proceeding
# Step 3: Run
bash pi-hole-install.sh
# Follow the interactive installer:
# 1. Select network interface (eth0 for wired — recommended)
# 2. Select upstream DNS (Cloudflare or leave default — can change later)
# 3. Confirm static IP
# 4. Install the web admin interface (recommended)
# 5. Note the admin password shown at the end
# Method 1: Change DNS in your router DHCP settings (recommended)
Router admin UI → DHCP Settings → DNS Server
Primary DNS: 192.168.3.2 (Pi-hole IP)
Secondary DNS: leave blank for strict blocking, or use a second Pi-hole.
A public fallback such as 1.1.1.1 improves availability during
rollout but can bypass blocking because clients may query it.
All devices get Pi-hole as DNS automatically on next DHCP renewal.
Force renewal: reconnect Wi-Fi or run 'sudo dhclient -r && sudo dhclient' on Linux
# Method 2: Per-device DNS (useful for testing before network-wide rollout)
Windows: Control Panel → Network Adapter → IPv4 Properties → set DNS manually
macOS: System Settings → Network → Details → DNS → set manually
…
Create, configure, and refine Hookify rules and syntax patterns.
Conduct multi-source web research and produce cited, source-attributed reports.
Process documents with OCR, conversion, extraction, redaction, signing, and form filling.
Design security and risk controls for autonomous trading agents with transaction authority
Build polished React and Next.js animations with reusable production-ready patterns.
Check live messages, recover recent codes, and verify the exact source inspected.
Plan a reliable home or homelab network with practical setup guidance.
Analyze Pi-hole devices and manage lists, DNS, and backups from one tool.
Manage Pi-hole v6 blocklists, domain rules, and DNS diagnostics with natural language.
Checks homelab network readiness before VLAN, DNS, firewall, or VPN changes.
Query DNS records via Google DNS-over-HTTPS for inspection and troubleshooting.
Set up WireGuard VPN for secure remote home network access.