Skip to content

Pi-hole

Fedora installation (official Pi-hole installer)

The supported install method for Pi-hole is the official shell installer. These steps show the recommended Fedora flow using the Pi-hole install script.

Install dependencies

sudo dnf install -y bash curl git

Run the official installer

curl -fsSL https://install.pi-hole.net | sudo bash

The installer will prompt for configuration options such as: - network interface - static IP address - upstream DNS servers - privacy level - web interface and query logging

Post-install notes

  • The installer will set up lighttpd and the Pi-hole web interface under /var/www/html/admin.
  • The configuration files are stored under /etc/pihole and DNS settings are in /etc/dnsmasq.d.
  • If you need to reconfigure Pi-hole later, use:
sudo pihole -r

Verify the install

sudo systemctl status pihole-FTL
sudo pihole status

The web admin interface is available at http://<pihole-ip>/admin.

DNS server configuration

Set your upstream DNS servers in the Pi-hole admin UI under Settings -> DNS.

Common custom DNS servers to use with this homelab setup:

10.0.0.55
10.0.0.56
8.8.8.8
8.8.4.4
1.1.1.1
1.0.0.1

If you have a local resolver or BIND server, point it at Pi-hole and let Pi-hole forward queries to the upstream servers above.

Paste lists

Use this section when you want to add many blocklist sources at once.

  1. Open the Pi-hole admin UI.
  2. Go to Group Management -> Adlists.
  3. Paste one blocklist URL per line into the Adlist URL field.
  4. Click Add for each list.
  5. After adding all URLs, run Update Gravity.

Example adlist URLs to paste:

https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/light.txt
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/tif.txt
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/gambling.txt

If you prefer the command line, add lists directly to /etc/pihole/adlists.list and refresh gravity:

sudo pihole -g

Allowlist

Use the allowlist to permit domains that may be blocked by your blocklists or by the default rules.

  1. Open the Pi-hole admin UI.
  2. Go to Group Management -> Domains.
  3. Select the Whitelist tab.
  4. Paste allowed domains one per line.
  5. Save the changes.

Allow these for Apple Devices:

(\.|^)apple\.com$ 
(\.|^)apple(\.|^) 
sw\w*\.apple.com
metrics.icloud.com
mask-api.icloud.com
feedbackws.icloud.com
(\.|^)icloud(\.|^)

Allow these for facebook media (photos/videos):

(\.|^)fbcdn\.net$

Tip: Use exact domains in the allowlist to minimize unintended allow rules.