Pihole wont connect to my network

Hi,

Since updating to pihole v6 i cant connect pihole to my network. I am using a docker server where i am running pihole and unbound together. Pihole shows an internal docker ip address so i am guessing i did something wrong with the network config in my docker compose.

Here is (part of) my docker compose:

networks:
  dns_net:
    #external: true
    #driver: bridge
    ipam:
        config:
        - subnet: 172.23.0.0/16
services:
 #Pihole - Tracking and advertisement blocker
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    networks:
      dns_net:
        ipv4_address: 172.23.0.7
    #  proxy:
    ports:
      #DNS Ports
      - "53:53/tcp"
      - "53:53/udp"
      #Default HTTP Port
      - "80:80/tcp"
      # Default HTTPs Port. FTL will generate a self-signed certificate
      - "443:443/tcp"
      # Uncomment the below if using Pi-hole as your DHCP Server
      #- "67:67/udp"
    environment:
      TZ: 'Europe/Berlin'
      #WEBPASSWORD: 'xxx' #old config
      #PIHOLE_DNS_: '172.23.0.8#5053' #old config
      FTLCONF_webserver_api_password: 'xxx'
      FTLCONF_dns_upstreams: '172.23.0.8#5053'
      FTLCONF_dns_listeningMode: 'all'
    # Volumes store your data between container upgrades
    volumes:
      - /opt/pihole:/etc/pihole
      - /opt/dnsmasq.d:/etc/dnsmasq.d
    restart: unless-stopped
  # Unbound - Recursive DNS
  unbound:
    container_name: unbound
    image: mvance/unbound:latest # remember to change this if you're using rpi
    networks:
      dns_net:
        ipv4_address: 172.23.0.8
    volumes:
      - /opt/unbound:/opt/unbound/etc/unbound
    ports:
      - "5053:53/tcp"
      - "5053:53/udp"
    healthcheck:
      test: ["NONE"]
    restart: unless-stopped

Where did i go wrong here? I had no issues before updating. I tried already in the pihole forum but no responces for 2 days now
 maybe because its a docker issue.

I would appreciate some guidance.
Thank you for the help!

regards,
Markus

I assume your read this part in the README.md of the Git-Repo:

More precisely, have you read this page and applied the required changes it mentions?
https://docs.pi-hole.net/docker/upgrading/v5-v6/

1 Like

i did change the environment variables to the new “FTLCONF_” format
 but only those that i had set before
 i did not set new ones

Can you explain what the “Primary IP addresses” is supposed to mean? Is this supposed to be your hosts’s ip? I hope it’s not.

its the ip adress that is shown in my pihole:

basically my problem
 there should be a 192.168.178.x

Can you explain why you expect to see 192.168.178.x?

Your compose file does not allow deducting that the pihole service could have any other ip than 172.23.0.7.

`FTLCONF_dns_upstreams: ‘172.23.0.8#5053’ points to a container ip and host port. It should point to the container ip and container port. This never allowed the pihole container to reach the unbound container, at least not configured like this.

Did you maybe accidentally paste the wrong compose file?

On a second thought: maybe the unbound inside the container is already configured to listen on 5053, then the port mapping would be just wrong., which doesn’t matter anyway if nothing uses the docker host ip and the published port to access unbound.

i commented out the networks section and used network_mode: host

I got ip adresses and can update gravity this way
 i have no idea how to proceed or what i did wrong
 i dont think it should be run on host network
 what it shows that i dont seem to get the network config right


Please always share the current compose file after applying changes. Otherwise, we might miss out on details like things you did configure but didn’t mention, or things you should have configured, but didn’t

Did you check the container logs for errors? Sharing those will give us more insights.

Sorry.

here is a version that seems to be working but i am not happy with it running on network_mode: host

services:
  
  #Pihole - Tracking and advertisement blocker
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    network_mode: host
    ports:
      #DNS Ports
      - "53:53/tcp"
      - "53:53/udp"
      #Default HTTP Port
      - "80:80/tcp"
      #Default HTTPs Port. FTL will generate a self-signed certificate
      - "443:443/tcp"
      #Uncomment the below if using Pi-hole as your DHCP Server
      #- "67:67/udp"
    environment:
      TZ: 'Europe/Berlin'
      FTLCONF_webserver_api_password: 'password'
      FTLCONF_dns_upstreams: '192.168.178.10#5053'
      FTLCONF_dns_listeningMode: 'local'
    # Volumes store your data between container upgrades
    volumes:
      - /opt/pihole:/etc/pihole
      - /opt/dnsmasq.d:/etc/dnsmasq.d
    restart: unless-stopped
  # Unbound - Recursive DNS
  unbound:
    container_name: unbound
    image: mvance/unbound:latest
    network_mode: host
    volumes:
      - /opt/unbound:/opt/unbound/etc/unbound
    ports:
      - "5053:53/tcp"
      - "5053:53/udp"
    restart: unless-stopped

i did want to run everything a bit more isolated
 and people on the internet do to

I tried setting it up using macvelan with my home network being in the 192.168.178.xx range like this:

networks:
  pihole-unbound_bridge:
    name: pihole-unbound_bridge
    driver: bridge
    ipam:
        config:
        - subnet: 172.23.0.0/24
          gateway: 172.23.0.1
          ip_range: 172.23.0.2/32

  home_network:
    name: home_network
    driver: macvlan
    driver_opts:
      parent: enp0s31f6
    ipam:
      config:
      - subnet: 192.168.178.0/24
        ip_range: 192.168.178.0/24
        gateway: 192.168.178.1

services:
  #Pihole - Tracking and advertisement blocker
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    networks:
      home_network:
        ipv4_address: 192.168.178.222
        priority: 1000  
      pihole-unbound_bridge:
        ipv4_address: 172.23.0.2
        priority: 900      
    ports:
      #DNS Ports
      - "53:53/tcp"
      - "53:53/udp"
      #Default HTTP Port
      - "80:80/tcp"
      #Default HTTPs Port. FTL will generate a self-signed certificate
      - "443:443/tcp"
      #Uncomment the below if using Pi-hole as your DHCP Server
      #- "67:67/udp"
    environment:
      TZ: 'Europe/Berlin'
      FTLCONF_webserver_api_password: 'password'
      FTLCONF_dns_upstreams: '192.168.178.223#53'
      FTLCONF_dns_listeningMode: 'local'
    # Volumes store your data between container upgrades
    volumes:
      - /opt/pihole:/etc/pihole
      - /opt/dnsmasq.d:/etc/dnsmasq.d
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    restart: unless-stopped
  # Unbound - Recursive DNS
  unbound:
    container_name: unbound
    image: mvance/unbound:latest
    networks:
      home_network:
        ipv4_address: 192.168.178.223
    volumes:
      - /opt/unbound:/opt/unbound/etc/unbound
    ports:
      - "53:53/tcp"
      - "53:53/udp"
    restart: unless-stopped

but i have no luck getting it working. I see the configured ip in my pihole but i cant connect to anything, cant run a gravity update.
What i can do, is ping it from my local machine.

Looks like i am stuck on using the host network.

Your first compose file can be reduced to this, as port mappings do not apply if containers run with host network (As in no isolation from the host’s network namespace → the container directly uses the hosts network interfaces!):

services:
  
  #Pihole - Tracking and advertisement blocker
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    network_mode: host
    environment:
      TZ: 'Europe/Berlin'
      FTLCONF_webserver_api_password: 'password'
      FTLCONF_dns_upstreams: '192.168.178.10#5053'
      FTLCONF_dns_listeningMode: 'local'
    # Volumes store your data between container upgrades
    volumes:
      - /opt/pihole:/etc/pihole
      - /opt/dnsmasq.d:/etc/dnsmasq.d
    restart: unless-stopped
  # Unbound - Recursive DNS
  unbound:
    container_name: unbound
    image: mvance/unbound:latest
    network_mode: host
    volumes:
      - /opt/unbound:/opt/unbound/etc/unbound
    restart: unless-stopped

Note: you must have modified the unbound.conf and changed interface: 0.0.0.0@53 to interface: 0.0.0.0@5053 otherwise neither the first compose file you shared in your first post, nor the one from above could have ever worked.

Same thing about ports applies to macvlan, though the ports would be bound to the host due to the bridge network association, but would fail to respond to requests due to FTLCONF_dns_listeningMode: 'local':

networks:
  pihole-unbound_bridge:
    name: pihole-unbound_bridge
    driver: bridge
    ipam:
        config:
        - subnet: 172.23.0.0/24
          gateway: 172.23.0.1
          ip_range: 172.23.0.2/32

  home_network:
    name: home_network
    driver: macvlan
    driver_opts:
      parent: enp0s31f6
    ipam:
      config:
      - subnet: 192.168.178.0/24
        ip_range: 192.168.178.0/24
        gateway: 192.168.178.1

services:
  #Pihole - Tracking and advertisement blocker
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    networks:
      home_network:
        ipv4_address: 192.168.178.222
        priority: 1000  
      pihole-unbound_bridge:
        ipv4_address: 172.23.0.2
        priority: 900      
    environment:
      TZ: 'Europe/Berlin'
      FTLCONF_webserver_api_password: 'password'
      FTLCONF_dns_upstreams: '192.168.178.223#53'
      FTLCONF_dns_listeningMode: 'local'
    # Volumes store your data between container upgrades
    volumes:
      - /opt/pihole:/etc/pihole
      - /opt/dnsmasq.d:/etc/dnsmasq.d
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    restart: unless-stopped
  # Unbound - Recursive DNS
  unbound:
    container_name: unbound
    image: mvance/unbound:latest
    networks:
      home_network:
        ipv4_address: 192.168.178.223
    volumes:
      - /opt/unbound:/opt/unbound/etc/unbound
    restart: unless-stopped

This should work, unless you have a unbound.conf in the host folder you map into the container folder. If you didn’t change the unbound.conf between your host network vs. macvlan attempts, then probably FTLCONF_dns_upstreams: '192.168.178.223#5053' might be the solution (or modifying the unbound.conf)

Please google for macvlan shim to see how people work around the kernel security limitation that prevents the macvlan parent interface (from your host) to directly communicate with macvlan child interfaces (the ones of the containers).

Your network configuration seems strange:

  • pihole-unbound_bridge: the ip-range has a single ip, and only pihole is connected
 This can’t be right. Either broaden the range and also add the unbound container to the network, or remove it completely → it does nothing
  • home_network: a macvlan should not use the whole ip-range of the subnet, as docker’s mavlan network provides it’s own dhcp server. Make sure you use a range within your subnet that is not covered by your networks dhcp server.

thank you so much for the help!
I am still struggeling in the macvlan department


I used an IP calculator for my network config:

For 192.168.178.216/29 (for an 8 IP network)

Address:   192.168.178.216       11000000.10101000.10110010.11011 000
Netmask:   255.255.255.248 = 29  11111111.11111111.11111111.11111 000
Wildcard:  0.0.0.7               00000000.00000000.00000000.00000 111
=>
Network:   192.168.178.216/29    11000000.10101000.10110010.11011 000 (Class C)
Broadcast: 192.168.178.223       11000000.10101000.10110010.11011 111
HostMin:   192.168.178.217       11000000.10101000.10110010.11011 001
HostMax:   192.168.178.222       11000000.10101000.10110010.11011 110
Hosts/Net: 6                     (Private Internet)

from this i got my new docker compose, i set a public upstream dns for now so i can rule out unbound as the problem:

home_net:
    name: home_net
    driver: macvlan
    driver_opts:
      parent: enp0s31f6
    ipam:
      config:
      - subnet: 192.168.178.0/24
        ip_range: 192.168.178.216/29
        gateway: 192.168.178.1

services:
  #Pihole - Tracking and advertisement blocker
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    networks:
      home_net:
        ipv4_address: 192.168.178.220
    ports:
      #DNS Ports
      - "53:53/tcp"
      - "53:53/udp"
      #Default HTTP Port
      - "80:80/tcp"
      #Default HTTPs Port. FTL will generate a self-signed certificate
      - "443:443/tcp"
      #Uncomment the below if using Pi-hole as your DHCP Server
      #- "67:67/udp"
    environment:
      TZ: 'Europe/Berlin'
      FTLCONF_webserver_api_password: 'MK#82TH13'
      FTLCONF_dns_upstreams: '8.8.8.8' #'192.168.178.221#53'
      FTLCONF_dns_listeningMode: 'all'
    # Volumes store your data between container upgrades
    volumes:
      - /opt/pihole:/etc/pihole
      - /opt/dnsmasq.d:/etc/dnsmasq.d
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    restart: unless-stopped

So that the network can talk to the rest i set up the shim like described here

# Setup the shim routing so the host can see the new containers via IP
  sudo ip link add home_net-shim link enp0s31f6 type macvlan mode bridge
  sudo ip addr add 192.168.178.222/32 dev home_net-shim
  sudo ip link set home_net-shim up
  sudo ip route add 192.168.178.216/29 dev home_net-shim

the result is, that i still don’t have the pihole working. i can’t run the gravity update but i can ping the ip (192.168.178.220) from the outside

when i run ifconfig on the docker machine and look for the home_net-shim i get this:

home_net-shim: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.222  netmask 255.255.255.255  broadcast 0.0.0.0
        inet6 2003:e2:70c:a800:5fd7:8e00:f173:3cc9  prefixlen 64  scopeid 0x0<global>
        inet6 fd7c:ad61:b311:0:cadb:a464:887:e182  prefixlen 64  scopeid 0x0<global>
        inet6 fd7c:ad61:b311:0:1cd5:26ff:fe47:6b74  prefixlen 64  scopeid 0x0<global>
        inet6 2003:e2:70c:a800:1cd5:26ff:fe47:6b74  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::1cd5:26ff:fe47:6b74  prefixlen 64  scopeid 0x20<link>
        ether 1e:d5:26:47:6b:74  txqueuelen 1000  (Ethernet)
        RX packets 13882  bytes 2812571 (2.8 MB)
        RX errors 0  dropped 2744  overruns 0  frame 0
        TX packets 243  bytes 36418 (36.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

i would say i have a wrong subnet, do i?

What did i overlook here?

Like I wrote earlier: this makes no sense with host or macvlan networking. There is only a container port, no host port. Those published ports have no effect. Just to be clear: this does not cause the problem.

The declared ip_range is not a subnet, as such does not reserve a network or broadcast ip. The ips from 192.168.178.216 to 192.168.178.223 can be used. The configuration looks good to me - unless other devices in your network occupy one of the ips.

Now we know the shim works. Keep in mind that the container has to use the ip of the mavlan-shim to talk to the host, it still won’t be able to communicate with the ip of the macvlan parent interface enp0s31f6.

It’s time to check the logs for errors.

Apart from that: the configuration looks good to me. Did you try to start with no pre-existing data in the host folders /opt/pihole and /opt/dnsmasq.d and see whether it makes a difference?

i dont think the ping going through has to do with the shim. i reversed the complete shim with:

user01@ubuntu-linux:/opt$ sudo ip route del 192.168.178.216/29 dev home_net-shim
user01@ubuntu-linux:/opt$ sudo ip link set home_net-shim down
user01@ubuntu-linux:/opt$ sudo ip addr del 192.168.178.222/32 dev home_net-shim
user01@ubuntu-linux:/opt$ sudo ip link del home_net-shim link enp0s31f6 type macvlan mode bridge

and i can still ping 192.168.178.220 from my pc

here is what docker network inspect home_net shows


 {
        "Name": "home_net",
        "Id": "4ebbfbbc6816d8c61cc9171036d2496f5060f7f3a0a0dd8ff7ecde12e11822d6",
        "Created": "2025-03-02T17:06:48.59952935+01:00",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv4": true,
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "192.168.178.0/24",
                    "IPRange": "192.168.178.216/29",
                    "Gateway": "192.168.178.1"
                }
            ]

yes i did
 and i still have the same issues.

Where do i find them?

If 192.168.178.220 is the ip of the docker host that runs the container attachted to a mavlan network: it is needed (this is the case I wrote requires the workaround). For every other device in your network: you are right, it is not needed.

docker container logs [OPTIONS] CONTAINER or docker logs [OPTIONS] CONTAINER

the mini pc on which my docker runs has the ip 192.168.178.10. i gave the specific pihole container the ip 192.168.178.220 unbound will get 192.168.178.221

so i can ping the pihole container with the ip 192.168.178.220 that runs on my minipc with the ip 192.168.178.10 from my windows machine ip 192.168.178.95
i tried installing net-tools inside the pihole container but it wont work because it has no internet connection

this is my log:

  [i] Container stop requested...
  [i] pihole-FTL is running - Attempting to shut it down cleanly

2025-03-03 13:59:15.055 CET [53/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:15.123 CET [53M] INFO: Asked to terminate by "killall --signal 15 pihole-FTL" (PID 37583, user root UID 0)
2025-03-03 13:59:15.155 CET [53/T168] INFO: Terminating database thread
2025-03-03 13:59:15.171 CET [53/T171] INFO: Terminating timer thread
2025-03-03 13:59:15.365 CET [53/T170] INFO: Terminating resolver thread
2025-03-03 13:59:15.373 CET [53M] INFO: Finished final database update
2025-03-03 13:59:15.373 CET [53M] INFO: Waiting for threads to join
2025-03-03 13:59:15.373 CET [53M] INFO: Thread housekeeper (1) is idle, terminating it.
2025-03-03 13:59:15.373 CET [53M] INFO: All threads joined
2025-03-03 13:59:15.374 CET [53M] INFO: PID file emptied
2025-03-03 13:59:15.374 CET [53M] INFO: Stored 1 API session in the database
  [i] Setting up user & group for the pihole user
  [i] PIHOLE_UID not set in environment, using default (1000)
  [i] PIHOLE_GID not set in environment, using default (1000)

  [i] Starting FTL configuration
  [i] Assigning password defined by Environment Variable
  [i] Starting crond for scheduled scripts. Randomizing times for gravity and update checker

  [i] Ensuring logrotate script exists in /etc/pihole

  [i] Gravity migration checks
  [i] Existing gravity database found - schema will be upgraded if necessary
     

  [i] pihole-FTL pre-start checks
  [i] Setting capabilities on pihole-FTL where possible
  [i] Applying the following caps to pihole-FTL:
        * CAP_CHOWN
        * CAP_NET_BIND_SERVICE
        * CAP_NET_RAW

  [i] Starting pihole-FTL (no-daemon) as pihole

fatal: unable to access 'https://github.com/pi-hole/pi-hole/': Could not resolve host: github.com
fatal: unable to access 'https://github.com/pi-hole/web/': Could not resolve host: github.com
fatal: unable to access 'https://github.com/pi-hole/FTL/': Could not resolve host: github.com
  [i] Version info:
      Core version is v6.0.3 (Latest: N/A)
      Web version is v6.0.1 (Latest: N/A)
      FTL version is v6.0.2 (Latest: N/A)

2025-03-03 13:59:26.568 CET [52M] INFO: ########## FTL started on be28384b79b7! ##########
2025-03-03 13:59:26.568 CET [52M] INFO: FTL branch: master
2025-03-03 13:59:26.568 CET [52M] INFO: FTL version: v6.0.2
2025-03-03 13:59:26.568 CET [52M] INFO: FTL commit: ac500d5f
2025-03-03 13:59:26.568 CET [52M] INFO: FTL date: 2025-02-21 21:48:20 +0000
2025-03-03 13:59:26.568 CET [52M] INFO: FTL user: pihole
2025-03-03 13:59:26.568 CET [52M] INFO: Compiled for linux/amd64 (compiled on CI) using cc (Alpine 14.2.0) 14.2.0
2025-03-03 13:59:26.792 CET [52M] INFO: 2 FTLCONF environment variables found (2 used, 0 invalid, 0 ignored)
2025-03-03 13:59:26.792 CET [52M] INFO:    [✓] FTLCONF_dns_listeningMode is used
2025-03-03 13:59:26.792 CET [52M] INFO:    [✓] FTLCONF_webserver_api_password is used
2025-03-03 13:59:26.793 CET [52M] INFO: Wrote config file:
2025-03-03 13:59:26.793 CET [52M] INFO:  - 152 total entries
2025-03-03 13:59:26.793 CET [52M] INFO:  - 148 entries are default
2025-03-03 13:59:26.793 CET [52M] INFO:  - 4 entries are modified
2025-03-03 13:59:26.793 CET [52M] INFO:  - 1 entry is forced through environment
2025-03-03 13:59:26.794 CET [52M] INFO: Parsed config file /etc/pihole/pihole.toml successfully
2025-03-03 13:59:26.794 CET [52M] INFO: PID file does not exist or not readable
2025-03-03 13:59:26.795 CET [52M] INFO: No other running FTL process found.
2025-03-03 13:59:26.795 CET [52M] WARNING: Insufficient permissions to set process priority to -10 (CAP_SYS_NICE required), process priority remains at 0
2025-03-03 13:59:26.797 CET [52M] INFO: PID of FTL process: 52
2025-03-03 13:59:26.797 CET [52M] INFO: listening on 0.0.0.0 port 53
2025-03-03 13:59:26.797 CET [52M] INFO: listening on :: port 53
2025-03-03 13:59:26.798 CET [52M] INFO: PID of FTL process: 52
2025-03-03 13:59:26.801 CET [52M] ERROR: SQLite3: recovered 748 frames from WAL file /etc/pihole/pihole-FTL.db-wal (283)
2025-03-03 13:59:26.801 CET [52M] INFO: Database version is 21
2025-03-03 13:59:26.804 CET [52M] INFO: Database successfully initialized
2025-03-03 13:59:26.808 CET [52M] INFO: Imported 93 queries from the on-disk database (it has 93 rows)
2025-03-03 13:59:26.808 CET [52M] INFO: Parsing queries in database
2025-03-03 13:59:26.809 CET [52M] INFO: Imported 93 queries from the long-term database
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Total DNS queries: 93
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Cached DNS queries: 82
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Forwarded DNS queries: 11
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Blocked DNS queries: 0
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Unknown DNS queries: 0
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Unique domains: 6
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Unique clients: 2
2025-03-03 13:59:26.809 CET [52M] INFO:  -> DNS cache records: 0
2025-03-03 13:59:26.809 CET [52M] INFO:  -> Known forward destinations: 3
2025-03-03 13:59:26.940 CET [52M] WARNING: Insufficient permissions to set system time (CAP_SYS_TIME required), NTP client not available
2025-03-03 13:59:26.940 CET [52/T166] INFO: NTP server listening on 0.0.0.0:123 (IPv4)
2025-03-03 13:59:26.940 CET [52/T167] INFO: NTP server listening on :::123 (IPv6)
2025-03-03 13:59:26.940 CET [52M] INFO: FTL is running as user pihole (UID 1000)
2025-03-03 13:59:26.940 CET [52M] INFO: Reading certificate from /etc/pihole/tls.pem ...
2025-03-03 13:59:26.940 CET [52M] INFO: Using SSL/TLS certificate file /etc/pihole/tls.pem
2025-03-03 13:59:26.941 CET [52M] INFO: Web server ports:
2025-03-03 13:59:26.941 CET [52M] INFO:   - 80 (HTTP, IPv4, optional)
2025-03-03 13:59:26.941 CET [52M] INFO:   - 443 (HTTPS, IPv4, optional)
2025-03-03 13:59:26.941 CET [52M] INFO:   - 80 (HTTP, IPv6, optional)
2025-03-03 13:59:26.941 CET [52M] INFO:   - 443 (HTTPS, IPv6, optional)
2025-03-03 13:59:26.941 CET [52M] INFO: Restored 1 API session from the database
2025-03-03 13:59:26.942 CET [52M] INFO: Blocking status is enabled
2025-03-03 13:59:27.041 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:27.041 CET [52/T168] ERROR: gravityDB_count(SELECT value FROM info WHERE property = 'gravity_count';) - SQL error step no more rows available
2025-03-03 13:59:27.042 CET [52/T168] WARNING: Count of gravity domains not available. Please run pihole -g
2025-03-03 13:59:27.044 CET [52/T168] INFO: Compiled 0 allow and 0 deny regex for 2 clients in 0.1 msec
2025-03-03 13:59:28.046 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:29.048 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:30.051 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:31.053 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:32.055 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:33.057 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:34.060 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:35.062 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:36.064 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available
2025-03-03 13:59:37.066 CET [52/T168] ERROR: gravity_updated(): SELECT value FROM info WHERE property = 'updated'; - SQL error step: no more rows available

i set the pihole as custom dns on my windows machine. It looks like it got 1 request to the pihole
 but it got stuck there. this is why the unique client number is 2

it seems like i can connect devices to the pihole but the the pihole cant communicate to the outside.
upstream dns:

Of course you can. The macvlan shim is only needed if 192.168.178.10 should be able to talk to 192.168.178.220.

Does your router really have the ip 192.168.178.1?
Note: you can not install packages in a container that is not started as root user.

Anyway, your macvlan configuration is okay. Everything else needs experience with Pihole, so you will either need to wait until a Pihole users sees your posts and feels like responding to it, or you post the issues in the Pihole forum, as it’s more likely other pihole users run it in a container as well, and already solved the problem you try to solve.

it looks like i found the problem


i thought of pulling the newest pihole container and tried to apt update my system first. i got name resolution issues right there
 so something went wrong on the weekend with my machines whole dns setup

on my ubuntu 22.04 machine i found the resolv.conf under /usr/lib/systemd. i nano’ed in there and found the nameserver set to 127.0.0.53
 i set it to 1.1.1.1 and saved it. i restarted the service with sudo systemctl restart systemd-resolved.service. After that i was able to ping named services again and ran the desired updates
 and “oh wonder” my pihole can update gravity now too.

i have absolutly no idea how the dns adress changed.

i am not a big linux guy
 so i dont know if this was the proper way to reset the nameserver for my docker machine. If not, what would be it?

If i wanted to use pihole as the dns server for the docker machine i would need to get the 192.168.178.220 in the resolv.conf? Is this a good idea? Also i would need the shim for that, right?

After all thank you so much for the help! i really do apprechiate it!