Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] devzwf - pihole DoT/DoH

Featured Replies

  • Author

i can see the warning from cloudflare version outdated ,  and this will get push tonight , but that's not your main issue
but for your over issue , i cannot reproduce at all 

 

  • Replies 233
  • Views 32.8k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • @Vinski-  please try tag : 2025.03.1-2.v6dev  and let me know 

  • I am preping this should be available tomorow.

  • ZappyZap
    ZappyZap

    i do not use stubby anymore , of course i can re-add to let the option open for those who would like to use it   I will look at it

Posted Images

  • Author

just tested :
 

 Checking if custom gravity.db is set in /etc/pihole/pihole-FTL.conf
Starting unbound
Starting stubby
Starting cloudflared
  [i] Neutrino emissions detected...
  [✓] Pulling blocklist source list into range

  [✓] Preparing new gravity database
  [✓] Creating new gravity databases
  [i] Using libz compression

  [i] Target: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
  [✓] Status: Retrieval successful
  [✓] Parsed 158918 exact domains and 0 ABP-style domains (ignored 1 non-domain entries)
      Sample of non-domain entries:
        - "0.0.0.0"

  [i] List stayed unchanged

  [i] Target: https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
  [✓] Status: No changes detected
  [✓] Parsed 34 exact domains and 0 ABP-style domains (ignored 0 non-domain entries)

  [i] Target: https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt
  [✓] Status: No changes detected
  [✓] Parsed 2701 exact domains and 0 ABP-style domains (ignored 0 non-domain entries)

  [i] Target: https://v.firebog.net/hosts/Easyprivacy.txt
  [✓] Status: No changes detected
  [✓] Parsed 37674 exact domains and 0 ABP-style domains (ignored 0 non-domain entries)

  [i] Target: https://big.oisd.nl
  [✓] Status: Retrieval successful
  [✓] Parsed 0 exact domains and 273526 ABP-style domains (ignored 0 non-domain entries)
  [i] List has been updated

  [✓] Building tree
  [✓] Swapping databases
  [✓] The old database remains available
  [i] Number of gravity domains: 472853 (469770 unique domains)
  [i] Number of exact blacklisted domains: 0
  [i] Number of regex blacklist filters: 14
  [i] Number of exact whitelisted domains: 2
  [i] Number of regex whitelist filters: 0
  [✓] Cleaning up stray matter

  [✓] FTL is listening on port 53
     [✓] UDP (IPv4)
     [✓] TCP (IPv4)
     [✓] UDP (IPv6)
     [✓] TCP (IPv6)

  [✓] Pi-hole blocking is enabled

  Pi-hole version is v5.18.2 (Latest: v5.18.2)
  web version is v5.21 (Latest: v5.21)
  FTL version is v5.25.2 (Latest: v5.25.2)
  Container tag is: 2024.06.0

 

  • Author

Thanks @bmartino1 let me know if you found anything , i am still trying to reproduce.
 

45 minutes ago, ZappyZap said:

Pihole container do not use  DNS1 and DNS2 anymore  but 

PIHOLE_DNS_

https://github.com/pi-hole/docker-pi-hole


image.png.f69fe3fd03a2fab5c4c2e421ea3c4e88.png  


? I saw that in the logs of the docker and follow the offical pihole project. its added to the dns records "host file in the docker":

the dns 1 and 2 temple fills the webui custom ip option:

I'm not using pihole as a dhcp server.

image.thumb.png.67dac537b6098bf6594b23accd1b6fd7.png

Edited by bmartino1
spelling

a fresh download of your unraid template still has that option.

image.thumb.png.476183688eb392d33be018d59baede88.png

So I should edit the template and add environment variable 

 

PIHOLE_DNS_ with options 127.2.2.2#5253;127.1.1.1#5153;127.0.0.1#5335


image.thumb.png.8cf8f6db4222c8195698d9369691e6d1.png

Edited by bmartino1
confrim tempate add

  • Author

Doh....
i was sure i update it ....
damn , will be done tomorrow

Thanks to found out 

18 hours ago, ZappyZap said:

Doh....
i was sure i update it ....
damn , will be done tomorrow

Thanks to found out 


 per the log with the dns 1 and dns 2 templates. It appears that pihole is making that record and using that variable:

 

 [i] Converting DNS1 to PIHOLE_DNS_
  [i] Converting DNS2 to PIHOLE_DNS_
  [i] Setting DNS servers based on PIHOLE_DNS_ variable


I'm not very concerned about it. It up and working as it should. 

  • Author

interesting....

  • 7 months later...
  • Author

IMPORTANT

Since the latest version of the docker image of pihole is V6 , the 2024.07.0 will probably be the latest version for this template as it is the latest who support V5

i am currecntly working on a new container image with dot-doh  and will also create a new template.

 

if you want to help let me know 

Thanks
  

  • Author
4 hours ago, bmartino1 said:

I will gladly test. I'm aware of pihole updating and moving thing around with the ftl and dns masquarade.
https://pi-hole.net/blog/2025/02/18/introducing-pi-hole-v6/

 

just need a tag / docker file

 

my understanding of the new version is the same template add a new docker variable

FTLCONF_dns_upstreams=8.8.8.8

 

and point that at stuby / unbond / cloudflared.

I think unbound replaced and took over stubby stuff so 
DOH : cloudflared: https://docs.pi-hole.net/guides/dns/cloudflared/

DOT : Unbound: https://docs.pi-hole.net/guides/dns/unbound/

New container version is base on a completely new OS as well alpine instead of  debian

  • Author

@bmartino1 oh i know alpine very well :) 
i make image on alpine 
Just need to found some time to tackle this.

  • Author

@bmartino1
here is a dev container with v6 / unbound and cloudflared 
devzwf/pihole-dot-doh:2025.02.4-v6dev

 

of course you need to adjust some env du to V6 
here is a testing compose.... 
i will create  a new template :
 

services:
  pihole:
    container_name: pihole_v6
    image: devzwf/pihole-dot-doh:2025.02.4-v6dev
    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:
      # Set the appropriate timezone for your location (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g:
      TZ: 'America/Toronto'
      # Set a password to access the web interface. Not setting one will result in a random password being assigned
      FTLCONF_webserver_api_password: '<WEB_PASSWORD>'
      # DoT : unbound (127.0.0.1#5335) DoH: cloudflared (127.1.1.1#5153)
      FTLCONF_dns_upstreams: '127.1.1.1#5153;127.0.0.1#5335'
      FTLCONF_dns_listeningMode: 'all'
    # Volumes store your data between container upgrades
    volumes:
      # For persisting Pi-hole's databases and common configuration file
      - './etc-pihole:/etc/pihole'
      # Uncomment the below if you have custom dnsmasq config files that you want to persist. Not needed for most.
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
      - './config/:/config'
    #cap_add:
      # See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
      # Required if you are using Pi-hole as your DHCP server, else not needed
      #- NET_ADMIN
    restart: unless-stopped

 

let me know 

Edited by ZappyZap

  • Author

Let me know.
i am still tweaking a bit this images

From what i'm seeing. some small tweaks to the compse template

added hostname pi.hole
added custom docker network using unraids defualt br0
full mapped default location for unraid default appdata path to continer for volumes.
--add unraids docker compse specails to fix ui stack icon and web ui link pulled form previous docker

image.thumb.png.719326d650b4b440e9bf58be1a786a44.png

The hostname unless changed, should be pi.hole using default pihole configuration per ptr:
 

image.thumb.png.15a38fb321a304e91db26def09b24453.png

 

other then that, this seems stable and is working.

image.thumb.png.71be5c91975b1133668ba73cbccf3fbf.png

image.png.856d67a29d484e38ebf0d71fabc7c759.png

 

log looks good at first creation as well.

image.thumb.png.c8f2fb6acdc18a17f64d236ad5e1fd5d.png

 

 

log.txt

  • Author

I think i will create a new template for this , so it do not break the install of people who do not want to move to v6 (even if i dont see why anybody would go this route)

 

i will also update my branch to github soon

Thanks for the testing 

Edited by ZappyZap

Hey everyone!
I just updated from devzwfpihole logs.txt/pihole-dot-doh:latest to devzwf/pihole-dot-doh:2025.02.6-v6dev  and so far I have not had any issues!! Thank you so much 

Ive attached the logs during the upgrade since I did notice this and wanted to point it out
WARNING: Insufficient permissions to set process priority to -10 (CAP_SYS_NICE required), process priority remains at 0 

  • Author
27 minutes ago, Nivek099 said:

Hey everyone!
I just updated from devzwfpihole logs.txt/pihole-dot-doh:latest to devzwf/pihole-dot-doh:2025.02.6-v6dev  and so far I have not had any issues!! Thank you so much 

Ive attached the logs during the upgrade since I did notice this and wanted to point it out
WARNING: Insufficient permissions to set process priority to -10 (CAP_SYS_NICE required), process priority remains at 0 

that's correct
you can add this 

--cap-add=CAP_SYS_NICE

in  Extra Parameters field

if you want 

so I hit my first bug with the compose. as the dnsmasq.d folder is empty, usually there is a pihole.conf and a rfc###.conf, i usual also add the unbound edns.conf per piehole config form memory cache values.

Apparently, 
When I stopped the docker and rebooted the host machine, unraid. The docker refused to start, its runs/composes up, but no web ui and nothing in the logs. I will attempt to recreate and reproduce the bug on another system.

Before the reboot, I had no issues with the dns and pihole instance. The act of making the dnsmasq.d volume may have deleted the files it started and ran with and never created the defaults when mapped.

*(Made empty folder adn volume mounted full paths all epty when first ran log above...)

I usually have 2-3 custom dnsmasq files for other dns assistance (more for this domain go to this dns server), I run with when I run pihole.... More to fix work realted dns queries. But it seems like losing the files in the volume mapping to dnsmasq.d is not a deal breaker, for me... As I can file 1 by 1 replace and add to the containers to workaround and fix that.


Meanwhile, I did test the dhcp server side as well, small hicups(more unfi rouge dhcp detection), but form what i could tell, I was able to use pihole dhcp without issues. I ran with both --cap-adds I used sys_nice and net admin that was commented out...

other then that, from what I can tell, this has been stable and is working.
 

services:
  pihole:
    container_name: pihole_v6
    hostname: 'pi.hole'
    image: devzwf/pihole-dot-doh:2025.02.4-v6dev
    networks:
       br0: #set to unraid default custom docker netwroking interface in use (br0, bond0, eth0, etc...)
           ipv4_address: 192.168.2.50 # Change this as needed for static IP
    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:
      # Set the appropriate timezone for your location (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
      TZ: "America/Chicago"
      # Set a password to access the web interface. Not setting one will result in a random password being assigned
      FTLCONF_webserver_api_password: "test"
      # DoT: unbound (127.0.0.1#5335), DoH: cloudflared (127.1.1.1#5153)
      FTLCONF_dns_upstreams: "127.1.1.1#5153;127.0.0.1#5335"
      FTLCONF_dns_listeningMode: "all"
    labels:
      # Unraid Compose Web UI Only
      net.unraid.docker.webui: "http://[IP]:[PORT:80]/admin"
      net.unraid.docker.icon: "https://raw.githubusercontent.com/devzwf/unraid-docker-templates/main/images/pihole-logo-bw.png"
      folder.view: "pihole-dot-doh"
      net.unraid.docker.managed: "composeman"
    volumes:
      - "/mnt/user/appdata/pihole-dot-doh/etc-pihole:/etc/pihole:rw,slave"
      #- "/mnt/user/appdata/pihole-dot-doh/etc-dnsmasq.d:/etc/dnsmasq.d:rw,slave"
      - "/mnt/user/appdata/pihole-dot-doh/config:/config:rw,slave"
    cap_add:
      # See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
      # Required if you are using Pi-hole as your DHCP server, else not needed
       - NET_ADMIN
       - CAP_SYS_NICE
    restart: unless-stopped

networks:
    br0: #set to unraid default custom docker netwroking interface in use (br0, bond0, eth0, etc...)
        external: true
        name: br0 #set to unraid default custom docker netwroking interface in use (br0, bond0, eth0, etc...)


Deleted the appdata folder contents so everything empty, delete the docker image. and used the above compose file commenting out the dnsmasq volume as it may be problematic.

image.thumb.png.a4951c22b8324b16b48399a649730d4c.png

 

Pihole appears to be working once more. Couldn't login to web ui. Will test latter tomorrow.

Edited by bmartino1
Data

  • Author

here what doc saiid about the dnsmasq dir :
 

Quote

# Uncomment the below if you have custom dnsmasq config files that you want to persist. Not needed for most starting fresh with Pi-hole v6. If you're upgrading from v5 you and have used this directory before, you should keep it enabled for the first v6 container start to allow for a complete migration. It can be removed afterwards. Needs environment variable FTLCONF_misc_etc_dnsmasq_d: 'true'

#- './etc-dnsmasq.d:/etc/dnsmasq.d'

 

  • Author
Quote

Pihole appears to be working once more. Couldn't login to web ui. Will test latter tomorrow.

FTL will attempt to bind to port 80 for plain HTTP. If it cannot bind to this port, it will fallback to port 8080 (So you might need to access the web interface at http://pi.hole:8080/admin)

sorry. I ahve n't had a change to retest do to other life obligation. I will be MIA tomorrow and the 9 - 15th. I will test what I can today with theses cahgens AS I was tryign to telport and move some ftl options.

had a issue with configs on reboot:

 

compose would show a red error for issues. webui useless for logs at compose / docker windows opens then breaks...


root@Docker:/mnt/user/appdata/containers/e5a56d4929cd7e36c8adb129e17bf732436fe84d8cadec9fb9c67a15516ee36a# cat e5a56d4929cd7e36c8adb129e17bf732436fe84d8cadec9fb9c67a15516ee36a-json.log 
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:37.488032304Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:37.887031844Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:38.360369605Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:39.055174877Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:40.132958005Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:42.017236875Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:45.502544317Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:03:52.209568027Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:04:05.302360041Z"}
{"log":"cp: not replacing '/config/cloudflared.yml'\n","stream":"stderr","time":"2025-03-01T20:04:31.187338507Z"}

If I restart the docker, I will need to delete the config files in the config folder toe get it back up...

Deleted the config contents and then the docker started...

You may need a similar script and pull from your github for theses files:
example:
https://github.com/bmartino1/clamav-alpine/blob/master/build/check_files.sh

Since its a cop command to form the temp staging area into compose, this is easily solvable for a work around using user scripts... Bring to your attention. the pihole v6 has a issue with the copy files into the config folder...

Edited by bmartino1
typo - Data

updated fix for the enty script to check if exisit then copy:

 

#!/bin/sh
set -e  # Exit on error

# Ensure script has execution permission
chmod 755 /temp/unbound.sh 

# Execute unbound.sh
/temp/unbound.sh

# Ensure config directory exists
mkdir -p /config/

# Check and copy config files if they do not exist in /config
[ ! -f /config/cloudflared.yml ] && cp /temp/cloudflared.yml /config/
[ ! -f /config/unbound.conf ] && cp /temp/unbound.conf /config/
[ ! -f /config/forward-records.conf ] && cp /temp/forward-records.conf /config/

# Start Unbound in the foreground
echo "Starting Unbound..."
/usr/local/sbin/unbound -d -p -c /config/unbound.conf &

# Start Cloudflared
echo "Starting Cloudflared..."
/usr/local/bin/cloudflared --config /config/cloudflared.yml &

# Start Pi-hole
echo "Starting Pihole..."
/usr/bin/start.sh


current compose file:

services:
  pihole:
    container_name: pihole_v6
    hostname: 'pi.hole'
    image: devzwf/pihole-dot-doh:2025.02.4-v6dev
    networks:
       br0: #set to unraid default custom docker netwroking interface in use (br0, bond0, eth0, etc...)
           ipv4_address: 192.168.2.50 # Change this as needed for static IP
    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:
    #pihole gid defualting set to 1000 was there a varble for this?
      # Set the appropriate timezone for your location (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
      TZ: "America/Chicago"
      # Set a password to access the web interface. Not setting one will result in a random password being assigned
      FTLCONF_webserver_api_password: "test"
      # DoT: unbound (127.0.0.1#5335), DoH: cloudflared (127.1.1.1#5153)
      FTLCONF_dns_upstreams: "127.1.1.1#5153;127.0.0.1#5335"
      FTLCONF_dns_listeningMode: "all"
      FTLCONF_misc_etc_dnsmasq_d: 'true' #needed if maping
    labels:
      # Unraid Compose Web UI Only
      net.unraid.docker.webui: "http://[IP]:[PORT:80]/admin"
      net.unraid.docker.icon: "https://raw.githubusercontent.com/devzwf/unraid-docker-templates/main/images/pihole-logo-bw.png"
      folder.view: "pihole-dot-doh"
      net.unraid.docker.managed: "composeman"
    volumes:
      - "/mnt/user/appdata/pihole-dot-doh/entrypoint.sh:/entrypoint.sh:ro"
      # Bind mount entrypoint.sh using fixed script above for teting...
      - "/mnt/user/appdata/pihole-dot-doh/etc-pihole:/etc/pihole:rw"
      - "/mnt/user/appdata/pihole-dot-doh/etc-dnsmasq.d:/etc/dnsmasq.d:rw"
      - "/mnt/user/appdata/pihole-dot-doh/config:/config:rw"
#    dns:
#      - 192.168.2.3
#      - 192.168.2.1
#      - 8.8.8.8
    cap_add:
      # See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
      # Required if you are using Pi-hole as your DHCP server, else not needed
       - NET_ADMIN #sometimes needed - needed more for running as a dhcp server
       - CAP_SYS_NICE #needed
       - CAP_SYS_TIME #needed
       #Other CAP options per pihovle v6 log:
      #   [i] Applying the following caps to pihole-FTL:
      #  * CAP_CHOWN
      #  * CAP_NET_BIND_SERVICE
      #  * CAP_NET_RAW
      #  * CAP_NET_ADMIN
      #  * CAP_SYS_NICE
      #  * CAP_SYS_TIME
    restart: unless-stopped

networks:
    br0:
        external: true


 

 

https://pi-hole.net/blog/2025/02/18/introducing-pi-hole-v6/#page-content

reviewed things that were removed:
https://docs.pi-hole.net/docker/upgrading/v5-v6/

other then the entryscript update for the conifgs. I've not had any noticable isseus for pihole as dhcp, dns, blocking. and queriying.

Edited by bmartino1
Data

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.