Pi-Hole
Opening Disclaimers
Proxmox
This Guide is written based on the use of Proxmox-VE version 7.0 and more specifically Proxmox_LXC. These instructions should be adaptable to other situations.
Container Creation
General
- Unpriviliged container: checked
- Nesting: unchecked
Template
- Template: ubuntu-21.04-standard_21.04-1_amd64
Disks
- Disk Size (GiB): 4
CPU
Cores: 1
Memory
- Memory (MiB): 256
- Swap (MiB): 512
Network
- IPv4 Static
- IPv4 Gateway
DNS
- DNS Servers: 8.8.8.8 (Change to 127.0.0.1 post-install)
Confirm
- Start After Created: unchecked
Container Tweaks
Options
- Start at boot: yes
Container First Run Steps
Run Updates
apt update && apt full-upgrade -y
Add a sudo user
adduser sysop usermod -aG sudo sysop
Cleanup The Container for some easy space savings.
apt autoremove -y && apt clean -y
Pi-hole Installation
My Insights
- It's good practice to have both 2 instances of Pi-hole, so you can update one at a time, and still have DNS for your home network. You can either follow this guide twice, or clone the container and run `pihole -r`
Prerequisite Guide(s)
Dependency Installs
The only thing our template image doesn't provide that we'll need is curl.
sudo apt install -y curl
Pi-hole Installation
Start by running the installer one-liner:
curl -sSL https://install.pi-hole.net | bash
"OK/Continue" your way to the `Upstream DNS Provider` page, and select "Custom". Here you should setup 2 Upstream DNS Servers created in the Unbound Guide.
"OK/Continue" your way to the end.
The installer will give you a web interface password, but we can set that in the cli right now.
pihole -a -p
Web Interface Steps
Login
Web Interface Styling
The first obvious step is to change the web interface to dark mode!
Settings -> API/Web-Interface.
Web interface settings
- I set mine to "Pi-hole midnight theme (dark)"
- I also like to uncheck the boxed layout option.
- Set your Administrator Email.
- Check "Colorful Query Log"
- Set Temperature Unit to Fahrenheit, though it won't matter much in LXC.
DNS Settings
- Interface listening behavior set to "Listen on all interfaces, permit all origins"
CLI Steps
Plex Media Server
If you run into Issues with Plex and DNS Rebind
nano /etc/dnsmasq.d/02-plex.conf
rebind-domain-ok=/plex.direct/