Introduction
Want to block ads and trackers across your entire network without installing browser extensions? Pi-hole is a powerful DNS-level ad blocker that filters unwanted traffic before it even reaches your devices. In this guide, we’ll walk you through the steps to set up and run your own Pi-hole instance.
Who is this for?
- Privacy-conscious users
- Home network admins
- Beginners with a Raspberry Pi or small server
What you’ll get:
- A running Pi-hole instance
- Network-wide ad and tracker blocking
- Optional HTTPS and stats dashboard
Why Pi-hole?
Feature | Pi-hole |
---|---|
Blocks Ads & Trackers | Yes, at DNS level |
Open-Source | Yes (MIT License) |
Lightweight | Runs on Raspberry Pi or VPS |
Dashboard | Web interface for stats & control |
Device Compatibility | Works on any device using your DNS |
Pi-hole filters requests before they reach ad servers, improving performance and privacy across all devices on your network.
Requirements
- Raspberry Pi or Linux server (1vCPU, 512MB+ RAM)
- Static IP recommended
- Basic networking knowledge
- Router with custom DNS support
Optional:
- Public domain (for remote access)
- NGINX reverse proxy + HTTPS
Step-by-Step Installation
1. Prepare Your System
Update system and install prerequisites:
sudo apt update && sudo apt upgrade -y
2. Install Pi-hole
Run the official install script:
curl -sSL https://install.pi-hole.net | bash
Follow the prompts in the terminal interface:
- Choose a static IP
- Select your upstream DNS provider
- Enable/disable telemetry and logs
Tip: Use Cloudflare (1.1.1.1) or Quad9 for privacy-friendly DNS.
3. Access the Dashboard
Once installation completes, access the web interface:
http://<your-ip>/admin
Use the password provided at the end of the install, or set your own:
pihole -a -p
Router Configuration
To enable network-wide blocking:
- Login to your router’s admin panel
- Find DHCP or LAN settings
- Set the DNS server to the Pi-hole’s IP address
- Reboot devices or renew their DHCP leases
Note: Some ISPs hardcode DNS via router firmware. If you can’t change DNS, use Pi-hole as DHCP server instead.
Enable HTTPS (Optional)
Use NGINX and Let’s Encrypt to secure your dashboard:
- Set up a domain (e.g.
pihole.yourdomain.com
) - Install NGINX and Certbot
- Configure reverse proxy and SSL
Sample NGINX config:
server {
listen 80;
server_name pihole.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name pihole.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost/admin;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Advanced Usage (Optional)
Add More Blocklists
Enhance filtering by adding curated lists:
In the dashboard:
Settings → Blocklists → Paste new URLs → Save & Update
Monitor Usage
Use built-in stats to track:
- Blocked queries
- Top clients
- Frequent domains
Run CLI commands:
pihole -c # Console summary
pihole -t # Real-time log
Whitelisting
Whitelist domains via Web UI or CLI:
pihole -w example.com
Comparison: Pi-hole vs AdGuard Home
Feature | Pi-hole | AdGuard Home |
Interface | Web + CLI | Web |
Blocklists | Fully customizable | Built-in lists |
DNS-over-HTTPS | Manual setup | Built-in |
Community | Larger, mature | Growing |
Ideal For | Tinkerers | Simpler out-of-box |
Consider AdGuard Home if you want an easier setup or built-in DoH/DoT support. Pi-hole offers more community support and granular control.
FAQs
Q: Does Pi-hole work on mobile devices?
A: Yes, if your router is set correctly. All devices using your network will benefit automatically.
Q: Will it block YouTube ads?
A: Partially. DNS-level blockers can’t fully block YouTube ads, which are served from the same domains as content.
Q: Can I use Pi-hole as DHCP server?
A: Yes. This is useful if your router won’t let you set DNS servers.
Final Thoughts
With Pi-hole, you take control of your network’s privacy and reduce ads on every device – all without browser plugins. Whether you’re running a Pi or a server, the setup is quick and the benefits are immediate.
Privacy starts at your DNS. Block smart, browse faster.
Support SelfhostHero: Enjoying our guides? Share them, or support us by using our affiliate links for gear and domains. Every bit helps us build more privacy-first tutorials