Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/damianiglesias/pihole-ubuntu-deploy/llms.txt

Use this file to discover all available pages before exploring further.

After Pi-hole is installed, you need to point your network’s DNS traffic at it. The most effective approach is configuring your router’s DHCP settings to advertise Pi-hole’s IP as the primary DNS server — this covers every device on the network automatically without any per-device configuration.

Step 1: Find Your Pi-hole’s IP

The Pi-hole IP address is displayed in the final deployment report after deploy.sh completes successfully:
################################################
#             DEPLOYMENT SUCCESSFUL!           #
################################################

 Server IP:      192.168.1.100
 Web Interface:  http://192.168.1.100/admin
If you need to look it up again at any time, run:
hostname -I | awk '{print $1}'

Step 2: Configure Your Router

Setting DNS at the router level is the recommended approach — it automatically applies Pi-hole to every device that gets an address from DHCP, including phones, smart TVs, and IoT devices.
1

Log into your router's admin panel

Open a browser and navigate to your router’s admin interface. Common default addresses are:
  • http://192.168.1.1
  • http://192.168.0.1
Consult your router’s documentation if neither works.
2

Locate the DHCP or LAN DNS settings

Look for a section named DHCP, LAN, DNS, or Internet Settings depending on your router model. You are looking for fields that let you set a custom DNS server address for DHCP clients.
3

Set the primary DNS to your Pi-hole IP

Enter your Pi-hole’s static IP address (e.g., 192.168.1.100) in the Primary DNS field.
4

Configure the secondary DNS (optional)

Leave the Secondary DNS field blank, or enter a fallback such as 8.8.8.8.
If you set a secondary DNS like 8.8.8.8, some devices may automatically bypass Pi-hole when it appears slow or temporarily unavailable, sending queries directly to the secondary resolver instead. For stricter network-wide blocking, leave the secondary DNS field blank and ensure Pi-hole stays online.
5

Save and restart the router

Apply your changes and restart the router. Devices that renew their DHCP lease will begin receiving Pi-hole’s IP as their DNS server.

Step 3: Access the Web Admin Panel

The Pi-hole web interface is available immediately after installation at:
http://<pi-hole-ip>/admin
For example: http://192.168.1.100/admin Log in with the password you set during the deploy.sh installation flow. From here you can monitor query activity, manage blocklists, whitelist domains, and configure upstream DNS settings.

Step 4: Verify It’s Working

1

Open a terminal on any networked device

Use any machine that receives DNS from your router — a laptop, desktop, or another server on the same network.
2

Test that known ad domains are blocked

Query a known advertising domain against Pi-hole directly:
nslookup doubleclick.net <pi-hole-ip>
A successful block returns 0.0.0.0 (or :: for IPv6) instead of the real IP address.
3

Check the Pi-hole dashboard for query activity

Open the Pi-hole web admin panel. The dashboard should show query counts increasing in real time as devices on your network make DNS requests.
4

Try the Pi-hole shortcut URL

Once Pi-hole is serving DNS for your device, you can also access the admin panel via the built-in hostname:
http://pi.hole/admin
This only works from devices that are actively using Pi-hole as their DNS resolver.

Per-Device DNS Configuration

If you cannot or do not want to change the router’s DNS settings, you can configure individual devices to use Pi-hole directly.
PlatformLocation
WindowsNetwork adapter → IPv4 Properties → Preferred DNS Server
macOSSystem Settings → Network → Details → DNS
Linux/etc/resolv.conf or NetworkManager connection profile
Android / iOSWi-Fi settings → long-press network → Modify network → Static DNS
Set the DNS server address to your Pi-hole’s static IP on each device.

Managing Blocklists

Pi-hole blocks domains based on blocklists compiled into its gravity database. You can extend coverage by adding additional lists.
  1. Open the Pi-hole admin panel
  2. Navigate to Group Management → Adlists
  3. Paste the URL of a new blocklist and click Add
  4. Run a gravity update to download and compile the new list:
pihole -g
deploy.sh optionally installs three curated lists during setup — StevenBlack Unified, AdGuard Mobile, and EasyPrivacy Tracking — and runs an initial gravity update automatically.

Useful Pi-hole CLI Commands

pihole status        # show Pi-hole status
pihole -g            # update gravity (blocklists)
pihole -q domain.com # query a domain against blocklists
pihole tail          # tail the query log in real time
pihole restartdns    # restart the DNS resolver
pihole setpassword   # set or change the web admin password

Build docs developers (and LLMs) love