# Pi Hole Ad blocking at the DNS level. Save yourself that precious transfer while on the go. This was chosen as it's designed to run on a Raspberry Pi and... this project is all about that kind of hardware. *NOTE: You may want to use a filesystem on a USB disk instead of /var for the volumes setup in the below Docker command(s) to help reduce writes to the micro sd card* ## Inspiration / Further Reading - [https://hub.docker.com/r/diginc/pi-hole/](https://hub.docker.com/r/diginc/pi-hole/) - [https://hub.docker.com/r/diginc/pi-hole-multiarch/tags/](https://hub.docker.com/r/diginc/pi-hole-multiarch/tags/) - [https://github.com/diginc/docker-pi-hole/blob/master/README.md](https://github.com/diginc/docker-pi-hole/blob/master/README.md) - [https://www.bentasker.co.uk/documentation/linux/279-unbound-adding-custom-dns-records](https://www.bentasker.co.uk/documentation/linux/279-unbound-adding-custom-dns-records) ## Update Unbound ### Setup unbound to listen on the Docker LAN so it can be the upstream of Pi Hole Add a 2nd ```interface``` line to ```/etc/unbound/unbound.conf``` ```interface: 172.30.0.1``` Restart unbound with ```systemctl restart unbound``` ## Setup Initial Run & Update Script A simple update script that will pull the latest Pi Hole Docker image, configure it for auto-run, etc. Note the settings under the ```docker run``` command. You need/want to tweak them lightly. Full docs on run time parms can be found in the Pi Hole [docs (link)](https://github.com/diginc/docker-pi-hole/blob/master/README.md). ``` bash mkdir /var/pihole /var/pihole/data /var/pihole/dnsmasq.d cat > /scratch/docker/pi-hole.sh < /etc/NetworkManager/dnsmasq-shared.d/pi-hole.conf < /etc/unbound/local_zone/pi-hole.conf <