Running Pi-hole on a Raspberry Pi 5
I’ve been running Pi-hole for three years. The Raspberry Pi 5 makes it almost embarrassingly easy — you get a fast, silent, low-power DNS server for less than $80.
What you’ll need
A Raspberry Pi 5 (4GB RAM is plenty), a good SD card or USB SSD, and about 20 minutes. That’s genuinely it.
The official installer handles everything:
curl -sSL https://install.pi-hole.net | bash
Work through the installer prompts. Accept the defaults for now — you can tune them later.
The part nobody tells you
Don’t run it on an SD card long-term. Pi-hole writes logs constantly, and cheap SD cards fail under that kind of sustained write pressure. I killed two cards before I wised up and switched to a USB SSD. Night-and-day difference in reliability.
The Pi 5 boots from USB natively — no bootloader changes needed. Flash Raspberry Pi OS to an SSD, plug it in, and you’re done.
Setting your router’s DNS
Once Pi-hole is running, point your router’s DHCP DNS setting to your Pi’s local IP address. Every device on your network will now go through Pi-hole automatically — no configuration on individual devices needed.
Find the Pi’s IP:
hostname -I
Then log into your router’s admin panel (usually 192.168.1.1 or 192.168.0.1) and set the primary DNS server to that IP.
What to expect
I’ve been blocking ~22% of DNS queries on my network. That’s 22% of requests that never leave my house — no ad servers, no trackers, no telemetry phoning home.
The Pi-hole dashboard gives you a live view of what’s being blocked and what’s getting through. It’s genuinely interesting to watch for the first few days.
Keeping it updated
Pi-hole updates are a single command:
pihole -up
I run this monthly. Takes about 30 seconds.
The Pi 5 has been running continuously for three months now. No issues, no crashes, no SD card failures. Solid setup.