I want to setup pihole (in docker) on my pi, and connect it with wireguard to my VPS, so when I'm connected to the VPN of my VPS, I also have pihole working.
I'm using this to connect to wireguard, which works correctly: https://unix.stackexchange.com/questions/527705/route-an-specific-docker-network-via-systemd-wireguard-interface
my docker-compose file is:
version: "3" services: pihole-unbound: container_name: pihole-unbound image: klutchell/unbound restart: always hostname: "unbound" volumes: - "unbound:/opt/unbound/etc/unbound/" ports: - "0.0.0.0:9953:53/tcp" networks: wireguard: ipv4_address: 10.222.111.100 pihole: container_name: pihole image: pihole/pihole restart: always hostname: pihole dns: - 127.0.0.1 - 22.214.171.124 # - 10.222.111.100 environment: TZ: "Europe/London" ServerIP: 10.1.0.200 DNS1: 126.96.36.199 DNS2: 188.8.131.52 # DNS1: 10.222.111.100 # DNS2: 10.222.111.100 volumes: - "pihole:/etc/pihole/" - "dnsmasq:/etc/dnsmasq.d/" ports: - "0.0.0.0:53:53/tcp" - "0.0.0.0:53:53/udp" - "0.0.0.0:67:67/udp" - "0.0.0.0:80:80/tcp" # Recommended but not required (DHCP needs NET_ADMIN) # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities cap_add: - NET_ADMIN networks: wireguard: ipv4_address: 10.222.111.200 volumes: unbound: pihole: dnsmasq: networks: wireguard: external: true
Cloudflare DNS works fine (on both my LAN, and VPN), but when I try updating the adlist it hangs forever. And when I add a local DNS entry it doesn't work.
Unbound DNS doesn't work at all (It says OK, sent to pihole-unbound.wireguard#53, reply N/A in query log, and using #9953 doesn't work either).