In this tutorial, we will look at how to install Pi-hole on Proxmox.
Pi-hole is a DNS sinkhole and installing it on Proxmox is a great place to run it as it’s generally online 24/7. We will use a script that walks you through the whole process of how to install Pi-hole on Proxmox. As with all scripts, make sure that you review it to ensure that you’re comfortable running it.
There are many different systems that you can run Pi-hole on, and it’s always a good idea to have more than one DNS server (for redundancy purposes), so check out our other Pi-hole tutorials if you’re interested in running it on another device!
Please note that you can install Pi-hole on Docker as well, and the process is the same as it is on OpenMediaVault. The only difference is that you’ll have to set up an LXC Container that will run Docker first, then can move on to the Docker/Portainer instructions.
How to Install Pi-hole on Proxmox
Before we look at how to install Pi-hole on Proxmox, we need to configure a Debian LXC Container.
Configuring a Debian LXC Container
Log in to Proxmox, select the storage location where you’d like to store the container template, select CT Templates, then select Templates.
2. Search for Debian, then select debian-11-standard and Download.
3. After the template finishes downloading, select Create CT to create a new container.
4. Enter a Hostname, then enter the Password you’d like to use. This password will be used to log in to the root user account. After all the settings have been specified, select Next.
5. Select the Template, then select Next to proceed.
6. Select the Disk Size for this container, then select Next.
7. Select the total Cores for the CPU, then select Next.
8. Set the total Memory, then select Next.
NOTE: Please keep in mind that this is the limit that this container can use.
9. Change the Network to use DHCP for IPv4 and/or IPv6 (unless you want to specify them manually OR are not using IPv6), then select Next until you get to Confirm.
NOTE: We are skipping the DNS section, but you can change these settings if you’d like to use a DNS server different than the Proxmox host.
10. Confirm the settings, then select Finish to create the container!
11. After the container starts, log in with the username root and password set in step four. Run the command below to update the system.
apt update && apt upgrade -y
12. After the system is updated, run the command below to install curl. We will use curl to run the script that installs docker.
apt install curl -y
13. After curl finishes installing, move on to the next section to install Pi-hole!
Setting up and Configuring Pi-hole
The steps below will show how to install Pi-hole on Proxmox using the Debian LXC Container created above.
1. Run the command below to install Pi-hole. Please review the script to ensure you’re comfortable running it before proceeding (I am not the creator of this script).
curl -sSL https://install.pi-hole.net | bash
2. Press Enter until you get to the Static IP address setup. It is extremely important for Pi-hole to have a static IP address. It’s recommended to set up a static IP on your router, but you can do it inside of the Debian operating system as well if necessary.
Just make sure that you set (or plan to set) a Static IP before proceeding.
3. Select an Upstream DNS Provider. The Upstream DNS Provider is where DNS requests (which are not found locally) will be forwarded.
4. Select Yes to use the default block list. Please keep in mind that this can be configured later, and you do not have to use this list if you don’t want to.
5. Select Yes to install the admin interface. This is how you’ll manage Pi-hole.
6. Select Yes to install the Admin Web Interface.
7. Query logging is a personal preference (this is what will determine if DNS requests are logged), so select Yes or No based on your preference.
8. If you selected yes above, you’ll be asked to determine the privacy of DNS requests. Select the option you’d like, then press Continue.
9. Pi-hole will now install! Give it a few minutes to ensure that it’s fully configured. When it’s complete, you’ll receive a confirmation page where you can select OK to proceed. Please note the password given so that you can log in to the web interface!
Connecting to Pi-hole/DNS Settings – How to Install Pi-hole on Proxmox
1. Connect to the admin Pi-hole webpage at one of the addresses below:
http://pi.hole/admin
http://[IP_ADDRESS]/admin.
2. Pi-hole is now successfully installed and accessible. It is now necessary for you to point your devices to this DNS server. The first way of doing this is by configuring each device to use your newly created Pi-hole DNS server.
The second option is to configure your router to use your Pi-hole DNS server by default, which is my preferred method. Configuring the system this way forces all devices to automatically use this DNS server, which means any device connected to your router will automatically be using Pi-hole!
NOTE: The screenshot below is old, so using the information above, the IP address of the DNS server would be 10.2.0.196 as opposed to 192.168.1.197.
3. After you configure your systems to use Pi-hole, you have a few different options: you can add new blacklists, whitelist specific sites, add local DNS records, etc. At this point, Pi-hole is fully configured and should be blocking ads (assuming the block lists are configured properly)!
Conclusion: How to Install Pi-hole on Proxmox
This tutorial explained how to install Pi-hole on Proxmox. If you’re using Proxmox, running Pi-hole in an LXC Container is a great option as it’s incredibly minimal and Proxmox servers are generally online 24/7. When paired with a Proxmox Cluster and High Availability, you can even ensure that it’ll stay online if one of the Proxmox servers goes down!
Thank you for checking out the tutorial on how to install Pi-hole on Proxmox. If you have any questions on how to install Pi-hole on Proxmox, feel free to leave them in the comments!