Community Add-on: Pi-hole

Tags: #<Tag:0x00007fd079abd938> #<Tag:0x00007fd079abd258>


I also appear to be having the same issue as @gnkarn.


:tada: Release v1.1.1

Full Changelog


  • Fixes a typo in the README
  • Fixes missing PHP ext fileinfo (#26)
  • Fixes stuck except interface in DNSMasq (#29)



Does this have a resolution currently? I’m hoping somebody will say yes and I’ve just missed it :slight_smile:


is it possible to bring pi-hole with latest ftldns? Or you wait that exits the beta?


FTLDNS is currently in beta. While the new features are great, the add-on focusses on stability. Therefore, I’m not going to release the add-on with beta software.


Hi, I just added Pi-Hole to my existing HAssio instal; and sadly i am unable to get this to work…
been trying for past few hrs…
Can someone please tell me if this is a known issue? What could i do differently?

dnsmasq: failed to create listening socket for port 53: Address in use

works with port 54, but not 53

  • Pi-Hole 1.1.1
  • Hassio image: Resin OS 2.3.0+rev1 running on RaspPi
  • DuckDNS & LetsEncypt is added/installed
  • dnsmasq add-on is NOT installed. No other DNS app is installed

resin network settings:



Pi-Hole add-on Settings:

“log_level”: “info”,
“password”: “”,
“update_lists_on_start”: true,
“http_port”: 80,
“https_port”: 443,
“dns_port”: 53,
“ssl”: false,
“certfile”: “fullchain.pem”,
“keyfile”: “privkey.pem”,
“interface”: “”,
“ipv6”: true,
“ipv4_address”: “”,
“ipv6_address”: “”,
“virtual_host”: “”,
“hosts”: []


Since you’ve seem to excluded everything, the only thing I can think of is the host version.

The latest (and last) version is 1.3, the version before that (1.2) had an issue causing the same error. Make sure you are running the latest host version.


Hi, Thanks for replying.
where do you find the host version?

DEBUG: Requested API resource: http://hassio/host/info
DEBUG: API HTTP Response code: 200
DEBUG: API Response: {“result”: “ok”, “data”: {“chassis”: null, “version”: null, “last_version”: null, “type”: null, “features”: [“reboot”, “shutdown”, “hostname”], “hostname”: “hassio”, “operating_system”: “Resin OS 2.3.0+rev1”, “deployment”: null, “kernel”: “4.4.50”}}

This is what i see from the tab on left side of screen:


That is a good question!

It used to be in the spot your are looking at right now, nevertheless, it seems to be removed (I guess it is caused by the preparations for HassOS).

I will ask around, see if I can get a question. Feel free to join the Discord chat and ask yourself as well :wink:


sounds like 0.68.1 upgrade has updated the underlying Resin OS from v1.3 to v2.3.
And v2.3 likely includes dnsmasq (to support the NetworkManager).

I hope someone can find a workaround…

btw, has anyone been successful with setting a different port for DNS (54, for example) in the router settings (perhaps using port trigger or port fwd)?


I think

hassio ha version

In console


:tada: Release v1.2.0

This is just a maintenance release, it updates tools used by Pi-Hole.

Full Changelog


  • Fixes shellcheck warnings


  • Moves build-env to latest
  • Upgrades base image to v1.4.2
  • Rewrites GitLab CI
  • Upgrades bind-tools to 9.11.3-r0
  • Upgrades git to 2.15.2-r0
  • Upgrades perl to 5.36.2-r1
  • Upgrades add-on base image to v1.4.2 in GitLab CI


  • Removes curl, since it is already in the base image


I received this in log, (had to use port 54 because if I use 53 it says port in use.
When I open web UI receive 404

TRc'hassisACE: hass.jq: {
  "c'hassis": null,
  "version": null,
  "last_version": null,
  "type": null,
  "features": [],
  "hostname": null,
  "operating_system": null,
  "deployment": null,
  "kernel": null
} .hostname
[cont-init.d] exited 0.
[cont-init.d] executing... 
TRACE: hass.file_exists: /data/log/pihole.log
TRACE: hass.file_exists: /data/log/pihole-FTL.log
[cont-init.d] exited 0.
[cont-init.d] executing... 
TRACE: hass.config.get: hosts|keys[]
TRACE: hass.config.exists: hosts|keys[]
TRACE: hass.jq.exists: /data/options.json .hosts|keys[]
TRACE: hass.jq: /data/options.json .hosts|keys[]
TRACE: hass.jq.is_string: /data/options.json .hosts|keys[]
TRACE: /data/options.json .hosts|keys[] string
TRACE: hass.jq: /data/options.json .hosts|keys[] | if type=="string" then true else false end
TRACE: hass.jq: /data/options.json .hosts|keys[] // empty
[cont-init.d] exited 0.
[cont-init.d] executing... 
TRACE: hass.config.true: update_lists_on_start
TRACE: hass.jq.is_boolean: /data/options.json .update_lists_on_start
TRACE: /data/options.json .update_lists_on_start boolean
TRACE: hass.jq: /data/options.json .update_lists_on_start | if type=="boolean" then true else false end
TRACE: hass.config.get: update_lists_on_start
TRACE: hass.config.exists: update_lists_on_start
TRACE: hass.jq.exists: /data/options.json .update_lists_on_start
TRACE: hass.jq: /data/options.json .update_lists_on_start
TRACE: hass.jq.is_string: /data/options.json .update_lists_on_start
TRACE: /data/options.json .update_lists_on_start string
TRACE: hass.jq: /data/options.json .update_lists_on_start | if type=="string" then true else false end
TRACE: hass.jq.is_boolean: /data/options.json .update_lists_on_start
TRACE: /data/options.json .update_lists_on_start boolean
TRACE: hass.jq: /data/options.json .update_lists_on_start | if type=="boolean" then true else false end
TRACE: hass.jq: /data/options.json .update_lists_on_start // false
TRACE: hass.file_exists: /data/pihole/gravity.list
[cont-init.d] exited 0.
[cont-init.d] executing... 
DEBUG: Testing if all configurations valid
dnsmasq: syntax check OK.
[17-Jun-2018 08:57:47] NOTICE: configuration file /etc/php7/php-fpm.conf test is successful

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[cont-init.d] exited 0.
[cont-init.d] done.
[services.d] starting services
[2018-06-17 08:57:47.639] ########## FTL started! ##########
[2018-06-17 08:57:47.640] FTL branch: master
[2018-06-17 08:57:47.640] FTL version: v3.0
[2018-06-17 08:57:47.640] FTL commit: a1b2fa0
[2018-06-17 08:57:47.640] FTL date: 2018-02-14 12:45:47 -0800
[2018-06-17 08:57:47.640] FTL user: pihole
[2018-06-17 08:57:47.640] Notice: Found no readable FTL config file
[2018-06-17 08:57:47.640]         Using default settings
[2018-06-17 08:57:47.640] Starting config file parsing (/etc/pihole/pihole-FTL.conf)
[2018-06-17 08:57:47.640]    SOCKET_LISTENING: only local
[2018-06-17 08:57:47.640]    QUERY_DISPLAY: Show queries
[2018-06-17 08:57:47.640]    AAAA_QUERY_ANALYSIS: Show AAAA queries
[2018-06-17 08:57:47.640]    MAXDBDAYS: max age for stored queries is 365 days
[2018-06-17 08:57:47.640]    RESOLVE_IPV6: Resolve IPv6 addresses
[2018-06-17 08:57:47.640]    RESOLVE_IPV4: Resolve IPv4 addresses
[2018-06-17 08:57:47.640]    DBINTERVAL: saving to DB file every minute
[2018-06-17 08:57:47.640]    DBFILE: Using /etc/pihole/pihole-FTL.db
[2018-06-17 08:57:47.640]    MAXLOGAGE: Importing up to [services.d] done.
24.0 hours of log data
[2018-06-17 08:57:47.640] Finished config file parsing
[2018-06-17 08:57:47.640] WARNING: Unable to write PID to file.
[2018-06-17 08:57:47.640]          Continuing anyway...
[2018-06-17 08:57:47.640] PID of FTL process: 1415
[2018-06-17 08:57:47.665] Gravity list entries: 124076
[2018-06-17 08:57:47.665] No blacklist present
[2018-06-17 08:57:47.665] No wildcard blocking list present
[2018-06-17 08:57:47.665] Database initialized
[2018-06-17 08:57:47.665] SELECT * FROM queries WHERE timestamp >= 1529128860
[2018-06-17 08:57:47.666] Imported 0 queries from the long-term database
[2018-06-17 08:57:47.666] Starting initial log file parsing
[2018-06-17 08:57:47.666] Reading from /var/log/pihole.log (rw-r--r--)
[2018-06-17 08:57:47.666] Finished initial log file parsing
[2018-06-17 08:57:47.666]  -> Total DNS queries: 0
[2018-06-17 08:57:47.666]  -> Cached DNS queries: 0
[2018-06-17 08:57:47.666]  -> Forwarded DNS queries: 0
[2018-06-17 08:57:47.667]  -> Exactly blocked DNS queries: 0
dnsmasq: started, version 2.78 cachesize 10000
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify
dnsmasq: using nameserver
dnsmasq: using nameserver
dnsmasq: read /etc/hosts.list - 0 addresses
dnsmasq: read /etc/pihole/black.list - 0 addresses
dnsmasq: read /etc/pihole/local.list - 2 addresses
dnsmasq: bad name at /etc/pihole/gravity.list line 92531
dnsmasq: bad name at /etc/pihole/gravity.list line 124076
dnsmasq: read /etc/pihole/gravity.list - 124076 addresses

TRc'hassisACE: hass.jq: {
  "c'hassis": null,
  "version": null,
  "last_version": null,
  "type": null,
  "features": [],
  "hostname": null,
  "operating_system": null,
  "deployment": null,
  "kernel": null
} .hostname

That seems incorrect. Are you running a Generic Linux / manual installation? If that is the case, you’d really need to update your system and run the installation again.


Run the following lines on your system and reboot.

apt-get update
apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat software-properties-common
curl -sL "" | bash -s

Running a Generic Linux system is awesome, but it requires you to keep things working on the Host system yourself. Please keep that in mind.


[✗] Status: Connection Refused
[✗] List download failed: no cached list available

Confirming the same problem in Pi-hole 1.2.0 from a fresh install, and that giving the install a static address fixes it.


I’m on hassio everything works fine, except for the sensors, they’re disappeard, someone with the same problem?


Did you update Hassio?

There’s some breaking changes

Breaking Changes
The pi_hole sensor is now limited to ads_blocked_today by default and will no longer show all available data. Use monitored_conditions to list the sensors you want. (@fabaff - #15014) (sensor.pi_hole docs) (breaking change)


Yes I’m on 0.73 , get the sensors working sometimos, dont know what could it be


Anyone have issues with the whitelist not working? I’ve added to it and I still get the website blocked page when I try to access it.

I’ve added other sites to it and they still get blocked in the query log.

I’m on 1.2.0 and hassio 0.72.