Pi-hole Setup

~20 minutes to a faster, cleaner, and more private network.

Overview

Setting up Pi-hole was quick and straightforward, with an excellent effort-to-benefit ratio. Deploying it on my Proxmox server was seamless. For this setup, I used a Debian container due to its lightweight resource usage compared to a full virtual machine or Docker container.

Proxmox Debian Container Setup

I allocated 4 GB of storage and 2 GB of RAM to the container, which is more than sufficient based on Pi-hole’s requirements. I also assigned a static IP address (192.168.1.12/24), which is essential for consistent network use later on.

Once the container was created, I performed a quick system update before proceeding with the installation.

System Update in Terminal

Using the official Pi-hole documentation, I retrieved the installation commands and started the setup process:

wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
Pi-hole Installation Process

After installation, Pi-hole provides access details for the admin web interface, along with a randomly generated password. The default blocklist configured during setup makes it easy to get started. After adjusting DNS settings, Pi-hole was immediately functional.

To test the setup, I pointed a device on my network to the container’s static IP address. I then visited websites known for displaying ads to confirm that Pi-hole was successfully blocking them.

Pi-hole Admin Web Interface

This was further verified by observing increasing statistics in the Pi-hole admin dashboard.

Pi-hole Dashboard Statistics

With everything working as expected, the final step was to update my router’s DNS settings to use the Pi-hole server. Once devices on the network renew their DNS configuration, they automatically begin using Pi-hole.

To speed up this process for testing, I manually released and renewed my DNS configuration using the command prompt.

Technologies Used

Raspberry Pi Os / Debian Proxmox DNS Security Linux / Bash Networking