docker-compose stack with PiHole, Unbound, PADD with Hyperpixel4 display for RaspberryPi
- Install Raspbian lite 64bit
- Make sure you provide a fixed IP for this device
- Setup docker
- Install bc and dig with
sudo apt install bc dnsutils
- Install hyperpixel4 display (use https://github.com/pimoroni/hyperpixel4)
- Add these lines to your
~/.bashrc
# Run PADD
if [ "$TERM" == "linux" ] ; then
while :
do
docker exec -it pihole bash /padd/padd.sh
sleep 1
done
fi
- Enable the overlay for hyperpixel4 by editing
/boot/config.txt
and adding this line at the very bottom
dtoverlay=vc4-kms-dpi-hyperpixel4
- Pull this repo
- Edit values in
docker-compose.yml
- Start the stack with
docker-compose up -d
- In PiHole under Settings > DNS set your Upstream DNS Server to
127.0.0.1#5335
and enable DNSSec
To directly display your PiHole stats after each reboot, use raspi-config
under System Options -> Boot / Auto Login
and enable Console Autologin
. A reboot is required.
The default terminal font was too small to fill the entire screen. You can change the font-size doing:
sudo dpkg-reconfigure console-setup
Now hit Enter two times and then on the font-selection screen select a font that is big enough for your eyes. PADD will adapt the amount of information that is shown automatically. The bigger the font, the lesser info is shown.
Depending on your network setup, you can now instruct your router to tell all clients to use PiHole as DNS. Or you can just configure the clients manually by entering its IP as DNS.
After you have successfully setup everything and started the stack, make sure you test the performance of the DNS by doing:
./dnsperftest/dnstest.sh