Compose file includes prometheus exporter for pihole metrics. It won't run by default up docker command
You need the following software to be installed on your system:
Download this setup to your host. Change ~/pi-hole_unbound_compose to the path you needed
git clone https://github.com/MrRTi/pi-hole_unbound_compose.git ~/pi-hole_unbound_compose
Go into cloned folder
Copy the .env.template into .env and set you variables in .env file
cp .env.template .envYou will need to setup
PIHOLE_DOMAIN_NAME- donain name used in compose setup for pihole servicePIHOLE_WEBPASSWORD- password for pihole web interfaceREV_SERVER_DOMAIN- If conditional forwarding is enabled, set the domain of the local network routerPIHOLE_API_TOKEN- Used by prometheus exporter, could be set up after pi-hole run
You could add additional variables supported by Pihole docker image. Check https://github.com/pi-hole/docker-pi-hole for the list of available variables
Image version are controlled by variables:
PIHOLE_VERSIONPIHOLE_EXPORTER_VERSION
docker compose build
docker-compose build # for old docker compose versionsdocker compose up
docker-compose up # for old docker compose versionsUse -d flag to run detached
You could access pi-hole at http://localhost:PIHOLE_WEBPORT/admin/login.php or http://localhost/admin/login.php if you didn't change the variable
Pi-hole will run using unbound, no additional setup needed.
Container will start if your host reboots. You could change this setting in docker-compose file
You could change config files in config folder if you need.
At this point you could proceed with pihole setup at your network as described in pi-hole documentation
docker compose --profile prometheus up
docker-compose --profile prometheus up # for old docker compose versionsdocker compose stop
docker-compose stop # for old docker compose versionsdocker compose --profile stop
docker-compose --profile stop # for old docker compose versionsPihole data stored in docker volume and will be consistent between runs
If you want to remove everything and setup from scrath, run
docker compose --profile prometheus down --volumes
docker-compose --profile prometheus down --volumes # for old docker compose versionsLogs are mapped to your host machine and will be saved at logs folder
./log/lighttpd./log/pihole