Running Pi-Hole Ad-Blocker in a Proxmox VE LXC Linux Container [CT]

Creating the Container

  1. Log into the Proxmox VE web UI
  2. Select a storage device from the left navigation that allows storing Container templates
  3. Select CT Templates from the left sub-navigation menu
  4. Click the Templates button
  5. Search for core > Click TurnKey Core to select it > Click the Download button
  6. After the download completes, close the download dialog
  7. Right click the Proxmox node name > Create CT
  8. Enter the Hostname PiHole, Password and Confirm the password > Next
  9. Select the Storage where the container template was downloaded and select the TurnKey Core container template > Click Next
  10. Set the Storage device to save the container to > Click Next
  11. Leave the defaults on the CPU tab > Next
  12. On the Memory tab, set the Memory to 1024 > Next
  13. Leave the defaults on the Network tab, setup a static IP address if needed (I prefer to set this from my router) > Next
  14. Leave the defaults on the DNS tab > Next
  15. Verify the summary and click Finish
  16. After the container creation completes, close the download dialog
  17. Right click the PiHole container in the left navigation pane > Start
  18. Click console in the left sub-navigation menu

Installing Updates and Pi-Hole

  1. Log into the container with the username root and the password set during the setup
  2. On the Initialize Hub services dialog, press tab and select Skip > Press Enter
  3. On the System Notifications dialog, press tab and select Skip > Press Enter
  4. On the Security updates dialog, press tab to select Install to enable automatic updates or Skip > Press Enter
  5. Press Enter to select Advanced Menu
  6. Arrow down and select Quit > Press Enter > Select Yes to confirm > Press Enter
  7. Run the following commands to install updates
    # update software repositories
    apt update
    # install available software updates
    apt upgrade -y
    # clean apt cache
    apt clean
    # reboot the container
    reboot now
  8. Log back into the container
  9. Run the following command to install Pi-Hole
    curl -sSL https://install.pi-hole.net | bash
  10. Press Enter until the DNS selection is displayed
  11. Select a DNS provider and press Enter
  12. Press Enter through the rest of the Pi-Hole installer, selecting the defaults
  13. Copy the randomly generated admin password (just in case)
  14. Press Enter to complete the installation
  15. Run the following command to change the Pi-Hole admin password
    pihole -a -p
  16. Enter and confirm the new password
  17. Click the Applications button > Internet > Chromium Web Browser
  18. Navigate to http://DNSorIP/admin
  19. Click Login
  20. Authenticate with the admin password

Testing Pi-Hole From Windows Client

  1. Click the Start button > Type control panel > press Enter
  2. Click View By > Small Icons
  3. Click Network and Sharing Center
  4. Click Change adapter settings
  5. Right click on the network connection > Properties
  6. Select Internet Protocol Version 4 (TCP/IPv4) > Properties
  7. Select the radio option next to Use the following DNS server addresses
  8. Input the IP address of the Pi-Hole VM
  9. Click OK on both of the open dialog windows
  10. Right click the Start button > Command Prompt (Admin)
  11. Type the following commands to flush your DNS cache and restart the network connections (note: your network connection will drop if running the commands on a remote machine)
    ipconfig /flushdns
    ipconfig /release
    ipconfig /renew

More on Pi-Hole https://pi-hole.net/