While I was disappearing down a rabbit hole investigating unbound as a DNS Privacy server, I came across Pi-Hole – A black hole for Internet advertisements.
I’ve always used uBlock Origin for ad blocking but that is a per client thing which is a bit of a hassle.
Pi-hole provides ad blocking for all clients on the network, seamlessly. I just configure DNS on each client, via DHCP, to point towards the Pi-Hole server.
Obviously, I love Docker so it’s in a Docker Container on a Raspberry Pi.
Currently, I’ve sacrificed DNS privacy but I’ll work on that later in terms of getting Pi-hole to send all DNS queries through my own DNS server.
This is how I implemented it. Obviously, these aren’t detailed instructions but more of a reference to jog my memory if I need it!
********************
Note: Substitute the IP address of the host that the Container is running on for ${IP} and ${IPv6}
********************
docker run -d \ --name=pihole \ --hostname=pihole \ -p 53:53/tcp -p 53:53/udp -p 80:80 \ -e ServerIP="${IP}" \ -e ServerIPv6="${IPv6}" \ -v pihole_data_1:/etc/pihole/ \ -v pihole_data_2:/etc/dnsmasq.d/ \ --restart=unless-stopped \ pihole/pihole:v4.0_armhf