Pi-hole Synology setup

I am trying to modify Tony Lawrence’s new guide at

and I’m a bit stuck. Here is my (Tonys modified) .yaml file

    # Note: 192.168.123.xxx is an example network, you must update all these to match your own.
version: '2'
    container_name: pihole
    image: pihole/pihole:latest
    hostname: pihole
    domainname: servicemax.private             # <-- Update
    mac_address: d0:ca:ab:cd:ef:11
      - NET_ADMIN
        ipv4_address:   # <-- Update
      - 443/tcp
      - 53/tcp
      - 53/udp
      - 67/udp
      - 80/tcp
      ServerIP:         # <-- Update (match ipv4_address)
      VIRTUAL_HOST: pihole.servicemax.private  # <-- Update (match hostname + domainname)
      WEBPASSWORD: "pass"                   # <-- Add password (if required)
    restart: unless-stopped
      - /volume2/docker/pihole/volume:/etc/pihole:rw
      - /volume2/docker/pihole/config/hosts:/etc/hosts:ro
      - /volume2/docker/pihole/config/resolv.conf:/etc/resolv.conf:ro
      - /volume2/docker/pihole/config/dnsmasq.conf:/etc/dnsmasq.d/02-network.conf:ro
    driver: macvlan
      parent: ovs_eth0
        - subnet:            # <-- Update
          gateway:             # <-- Update
          ip_range:        # <-- Update

and here is the output of Docker on Synology

    [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 01-resolver-resolv: applying... 
s6-chown: fatal: unable to chown /etc/resolv.conf: Read-only file system
s6-chmod: fatal: unable to change mode of /etc/resolv.conf: Read-only file system
[fix-attrs.d] 01-resolver-resolv: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 20-start.sh: executing... 
stty: 'standard input': Inappropriate ioctl for device
 ::: Starting docker specific setup for docker pihole/pihole
OK: Checks passed for /etc/resolv.conf DNS servers
stty: 'standard input': Inappropriate ioctl for device
  [i] Existing PHP installation detected : PHP version 7.0.33-0+deb9u1
  [i] Installing configs from /etc/.pihole...
  [i] Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
  [i] Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf...
  [✓] Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf
chown: cannot access '/etc/pihole/dhcp.leases': No such file or directory
Setting password:pass
  [✓] New password set
Using default DNS servers: &
DNSMasq binding to default interface: eth0
+ pihole -a -p pass pass
Added ENV to php:

			"PHP_ERROR_LOG" => "/var/log/lighttpd/error.log",

			"ServerIP" => "",

			"VIRTUAL_HOST" => "pihole.servicemax.private",
Using IPv4 and IPv6
::: setup_blocklists now setting default blocklists up: 
::: TIP: Use a docker volume for /etc/pihole/adlists.list if you want to customize for first boot
::: Blocklists (/etc/pihole/adlists.list) now set to:
::: Testing pihole-FTL DNS: FTL started!
::: Testing lighttpd config: Syntax OK
::: All config checks passed, cleared for startup ...
 ::: Docker start setup complete
  [i] Pi-hole blocking is enabled
  [✗] DNS resolution is currently unavailable

Now, the ‘DNS resolution is currently unavailable’ is because I have the Google DNS servers blocked at my router. The actual error is further up, where it shows I have my DNS servers set correctly

and yet later in startup it says
Using default DNS servers: &

what have I done wrong?

In addition, I have something wrong with the network setup- I can’t get through to the ip address of the pi-hole. Is ip_range wrong? I couldn’t figure out the instructions well enough…

to be clear, my main network is
and I am trying to use for the pi-hole

cheers for any help

4.2.1 docker image had a bug where it wasn’t properly populating the adlists and that can cause issues with the startup of DNS/gravity.

Please try pulling the latest image to get 4.2.2 which fixes the issue. You might have remove your adlists.list file from your docker volume to get it to update with the proper default lists too.

I dont know if this has been resolved but ip_range: for macvlan is wrong for the address you are stating in ipv4_address:

ip_range: is a Usable Host IP Range of -

If you dont plan on running any other containers in the macvlan you are creating then use (ip_range: Otherwise use a calculator like https://www.calculator.net/ip-subnet-calculator.html to figure out what the ip range should be used for what you need.

The ip_range is the range of ip’s you are allowing docker to use on the macvlan.

Hey @Beefyfish,
Thanks for that info- I got distracted by a more urgent project but my intention is to fix this and write it up in a less technical way, so any help is much appreciated- thank you!