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.
Using bridge network and a slightly different pihole mimage with unbound included, but as internal pihole image is same it should still apply.
I have 2 bridge yaml configurations which are almost identical (volumes are different) running on synology and on a orangepi5.
Now here the difference: on the opi5 I see the client addresses when I browse the pihole Query log.
When I do the same on synology, I see the bridge network def gw ip address.
Any clue? Do you have the same?
Only difference I have found so far is the difference in docker version. Synology is on 24.0.2 and opi5 is on 28.1.1
Complete config on synology:
[code]
services:
pihole-unbound:
container_name: pihole-unbound
image: mpgirro/pihole-unbound:2025.04.0
hostname: pihole4
domainname: home.local
ports:
# – 8006:443/tcp
– 53:53/tcp
– 53:53/udp
– 8002:8002/tcp #Allows use of different port to access pihole web interface when other docker containers use port 80
# – 5335:5335/tcp # Uncomment to enable unbound access on local server
# – 22/tcp # Uncomment to enable SSH
environment:
– PUID=1028 # Dockerlimited
– PGID=100
– PIHOLE_UID=1028
– PIHOLE_GID=100
– FTLCONF_LOCAL_IPV4=192.168.2.4
– TZ=Europe/Amsterdam
– FTLCONF_webserver_api_password=mypassword
– FTLCONF_webserver_interface_theme=default-light
– REV_SERVER=true
– REV_SERVER_DOMAIN=home.local
– REV_SERVER_TARGET=192.168.2.1
– REV_SERVER_CIDR=192.168.2.0/24
– FTLCONF_dns_revServers=true,192.168.2.0/24,192.168.2.1,home.local
– FTLCONF_dns_upstreams=127.0.0.1#5335
– FTLCONF_dns_dnssec=”true”
– FTLCONF_dns_listeningMode=single
– FTLCONF_webserver_port=8002s
– WEBTHEME=default-light
volumes:
– /volume2/docker/pihole/unbound:/etc/pihole:rw
– /volume2/docker/pihole/dnsmasq:/etc/dnsmasq.d:rw
restart: unless-stopped
labels:
– “com.centurylinklabs.watchtower.enable=true”
mem_limit: 1g
[/code]
Hey just getting back to this!!
I have severe internet issues at the moment due to a local issue so struggling even stay connected to Discord so pulling images just time out! – Once I get some normal connectivity I can test here (It’s been 5 days of issues so not sure when this will be!!)
Based on the GitHub your config looks logical, I don’t think the image supports the PUID and PGID variables so likely can get rid of those lines.
Any progress on the unbound portion of this posting?
Thanks in advance.
Hey Matt – I have been a bit restricted time and bandwidth wise recently – It will come back just a matter of getting some time to setup and test locally