Last updated on 5 April 2025
Web portal settings
You do not need to enable anything on the ‘Web portal settings’ screen click ‘Next’ again.

On the final screen click ‘Done’ which will begin the download of the container images and once downloaded they will be launched!

The image will now be downloaded and extracted. You should see ‘Code 0’ when it has finished.

You will now see your Pi-hole running and should have a green status on the left-hand side.
Accessing the Web UI
The web interface will now be available via the following methods. If you use the https address you will need to accept the self-signed certificate warning in your browser.
Network Mode | Access method |
---|---|
Host | http://nasIP:8000/admin |
Bridge | http://nasIP:8000/admin https://nasIP:8443/admin |
Macvlan | http://macvlanIP/admin https://macvlanIP/admin |
You can access the UI with the password you specified in the compose.


Update your Router DNS
Now you need to add the appropriate IP address to your router or DHCP Server settings the IP you use will depend on which network method you used to set up Pi-hole
Note: some routers have both WAN and LAN DNS settings, you will just be changing your local LAN setting.
Bridge or Host = Use your NAS IP address.
Macvlan = The address you chose for the container on the line ‘ipv4_address:’
It can take some time for all of your devices to move over the new DNS settings so be patient, and you will gradually start to see your stats begin to start.
Add some block lists
Don’t go crazy with block lists as adding 10 million blocked URLs is largely a waste of time stick to some good quality core lists from these sites
That’s it you are now blocking ads network wide!
Looking for some help, join our Discord community
If you are struggling with any steps in the guides or looking to branch out into other containers join our Discord community!
Buy me a beverage!
If you have found my site useful please consider pinging me a tip as it helps cover the cost of running things or just lets me stay hydrated. Plus 10% goes to the devs of the apps I do guides for every year.
how can we update the FTLCONF_webserver_
api_password ?
Hey check out the official docs for full sets of variables, but this is set exactly as you put
– FTLCONF_webserver_api_password=’THIS IS MY PASSWORD’
https://docs.pi-hole.net/docker/configuration/#environment-variables
Does this automatically install Unbound? I used 127.0.0.1#5335 as my Custom DNS Server, but I get a connection error:
CONNECTION_ERROR Connection error (127.0.0.1#5335): TCP connection failed (Connection refused)
I’m also getting this:
DNSMASQ_WARN dnsmasq warning:
Maximum number of concurrent DNS queries reached (max: 150)
Hey Rod – I just realised my left menu still say Unbound in the link – I actually removed the Unbound element from the guide as it was causing my trouble than its worth. So you need to set it up independently
Were you still planning to add Unbound to the guide later? Was keeping this page bookmarked out of interest for that. Your guides were very helpful when I first started into self-hosting. Thank you so much for sharing your expertise!
I am not sure why, but it seemed to cause lots of random issues for people. I just hunted back through our Pi-hole megathread on Discord as Muiz had a working compose it includes Redis for local caching of queries. You need to place the config files in the right folders
https://paste.drfrankenstein.co.uk/?2dab3f135acedfd0#6k2P2epCToLQB1Hn6fpeFRKEc3MKBJYVaqVoupD6e57A
https://drfrankenstein.co.uk/wp-content/uploads/2025/02/unbound.conf /docker/unbound/data
https://drfrankenstein.co.uk/wp-content/uploads/2025/06/cachedb.conf /docker/unbound/
Just my 2c…
After a lot of testing myself I found out that the only stable and solid solution to use PiHole as a recursive DNS server using docker is by concentrating on the following docker image:
https://github.com/mpgirro/docker-pihole-unbound/blob/main/README.md
So I would suggest to try this one and provide a guide for this image. Really a good and stable solution, much better than using different PiHole and Unbound images in the same project.
OK good to know – will add to the reading list 🙂