Skip to content

Pi-hole in Container Manager on a Synology NAS

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 ModeAccess method
Hosthttp://nasIP:8000/admin
Bridgehttp://nasIP:8000/admin
https://nasIP:8443/admin
Macvlanhttp://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

https://firebog.net

https://oisd.nl

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.

Pages: 1 2 3 4 5

Published inAd-Blocking / DNS 7.2DockerSynology

210 Comments

  1. Roelski Roelski

    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]

    • Dr_Frankenstein Dr_Frankenstein

      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.

    • Dr_Frankenstein Dr_Frankenstein

      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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

drfrankenstein.co.uk – writing Synology Docker Guides since 2016 – Join My Discord!