pi-hole local installation
Every once in a while I realize I’ve been seeing way to many ads online. I sometimes run a pi-hole server on a raspberry pi in my house, but alas I’m not always there. So here is my howto run pi-hole on your local machine, so you can have a “disposable” pi-hole instance locally.
You’ll need:
- docker
- docker-compose
- a little bit of patience
First thing is you need a place to put the following docker-compose.yml
file. Also a sanity check on docker
too.
docker run hello-world
Assuming that works, put the following into a directory probably called pi-hole
or something
cd ~
mkdir pi-hole
cd pi-hole
vim docker-compose.yml
version: "3"
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp" # Only required if you are using Pi-hole as your DHCP server
- "80:80/tcp"
environment:
TZ: 'America/Chicago'
# WEBPASSWORD: 'set a secure password here or it will be random'
# Volumes store your data between container upgrades
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
restart: unless-stopped
Run the following to bring up the container:
docker compose up
Verify that all the ports and you can reach the http://localhost/web/admin page. If you can, then you’re almost done.
Fix your DNS settings to 127.0.0.1
and then you should be able to start seeing traffic go through pi-hole. Edit how you want, and you’re done!