Home Assistant Community Add-on: Pi-hole

That makes absolutely no sense, since it runs on the host network. Those aren’t rocker mappings in that config file.

@frenck Ok, I wasn’t aware that it’s run on the host network. I am not sure why this is the case but DHCP was not being offered until I mapped UDP/67

I will remove the mapping and try again. Will update soon.

Apologies! User error!!

I think I might not have had my previous DHCP server stopped when I configured pi-hole addon.

Is This block youtube AD?

No, it does not. DNS based ad blockers never do.

Installed Pi-hole, everything seems to work nicely. Set up my router to use my Home Assistant installation on my RPi3 as DNS. I cannot open the web interface though. I get the follow error.

Failed Host Check: My.external.ip vs my.local.ip, , a0d7b954-pi-hole.local.hass.io, pi.hole, localhost, hassio, hassio.local

Any clues? I have tried not using ssl.

1 Like

Using Hassio and looking to use the pihole API for a on/off browser addon, however it fails to generate key as no password is set. I cannot see any way to define a password for this?

Any help appreciated!

Hello, i’ve think i made a very tiny mistake.
Everything works almost perfect, let me explain my installation on hassio:

  • Install addon
  • add eth0 to the interface settings
  • add the addres of my duckdns instance to virtual host
  • start, so far so good.
  • turned the dhcp of my router off

Pi-Hole settings

  • dhcp settings: put in the same range as my router
  • dhcp settings: here i give the pi with hassio and pihole a static ip (same as i used before
  • turned one the dhcp of pi-hole

My device settings

  • Use the ip of the pi for as DNS adress.

From now on everytings works great.
I can see ads are blocked and a few dhcp ip’s are handed out to a few devices (the pi not yet).
After an hour or so the internet connection stops and i can’t do anything anymore.

When i go back to my router and put the DHCP on, i have acces to internet again…

What am i missing?
I think as soon as the pi get an ip from the pi-hole instance, the internet breaks.

Thanks!

Tried the following:

Added this to the pi-hole addon config:

  "hosts": [
    {
      "name": "router.local",
      "ip": "192.168.1.1"
    }
  ]
}

Also removed the static DHCP lease for the pi with pi-hole, i thought maybe that was the thing causing the problem…

Did not work, after a few hours the internet connection is gone.

When i enable the DHCP on the router the internet connection is back immediately.
The first thing i see on the router is that the pi ip adres is directly added to the DHCP lease…

I also keep the DHCP service on the pi running, my laptop still used the pi-hole dns and dhcp addres…
Can i keep the 2 DHCP services running together?

For now there are no issues…

I added a switch that looks like:

  - platform: command_line
    scan_interval: 5
    switches:
      pihole_switch:
        friendly_name: "Ad Blocking"
        command_on: "curl -X GET 'http://homeassistant:4865/admin/api.php?enable&auth='"
        command_off: "curl -X GET 'http://homeassistant:4865/admin/api.php?disable=600&auth='"
        command_state: "curl -X GET 'http://homeassistant:4865/admin/api.php?status&auth='"
        value_template: "{{ value_json.status == 'enabled' }}"

The empty auth handles no password.

Thanks but I am looking for this from a browser plugin. Cant see why there is no way to password protect this?

I’ve had PiHole running for months and I am now getting the same issue - Did you ever work out what was causing this or how to fix it?

Hi all

I just installed this addon and I’m getting no queries in the query log.

I have an Intel NUC with Proxmox as Virtual environment and Hassio is installed in a VM with Ubuntu Server.
Previously I had another VM with Ubuntu Server and Pi-Hole installed directly on that OS with standard installation.

This is my config

{
  "update_lists_on_start": true,
  "ssl": false,
  "certfile": "fullchain.pem",
  "keyfile": "privkey.pem",
  "interface": "ens18",
  "ipv6": true,
  "ipv4_address": "",
  "ipv6_address": "",
  "virtual_host": "",
  "hosts": [
    {
      "name": "router.local",
      "ip": "192.xxx.xxx.xxx"
    }
  ],
  "log_level": "info"
}

The interface is set to ens18 that I’ve got from ifconfig (or ip addr) and I don’t get error in the log, but I don’t get any queries. I’ve tried also leaving empty that field, but no changes.

I’ve changed all the DSN addresses on the router, and on all the other connected stuff, since before was another one.

I get this

50

and this is the log

DNS service is NOT running
[cont-init.d] pihole.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[18:33:02] INFO: Starting Pi-Hole FTL...
[2019-09-12 18:33:02.485 890] Using log file /var/log/pihole-FTL.log
[2019-09-12 18:33:02.486 890] ########## FTL started! ##########
[2019-09-12 18:33:02.486 890] FTL branch: master
[2019-09-12 18:33:02.486 890] FTL version: v4.3.1
[2019-09-12 18:33:02.486 890] FTL commit: b60d63f-dirty
[2019-09-12 18:33:02.486 890] FTL date: 2019-05-25 21:37:26 +0200
[2019-09-12 18:33:02.486 890] FTL user: pihole
[2019-09-12 18:33:02.486 890] Starting config file parsing (/etc/pihole/pihole-FTL.conf)
[2019-09-12 18:33:02.486 890]    SOCKET_LISTENING: only local
[2019-09-12 18:33:02.486 890]    AAAA_QUERY_ANALYSIS: Show AAAA queries
[2019-09-12 18:33:02.486 890]    MAXDBDAYS: max age for stored queries is 365 days
[2019-09-12 18:33:02.486 890]    RESOLVE_IPV6: Resolve IPv6 addresses
[2019-09-12 18:33:02.486 890]    RESOLVE_IPV4: Resolve IPv4 addresses
[2019-09-12 18:33:02.486 890]    DBINTERVAL: saving to DB file every minute
[2019-09-12 18:33:02.486 890]    DBFILE: Using /etc/pihole/pihole-FTL.db
[2019-09-12 18:33:02.486 890]    MAXLOGAGE: Importing up to 24.0 hours of log data
[2019-09-12 18:33:02.486 890]    PRIVACYLEVEL: Set to 0
[2019-09-12 18:33:02.486 890]    IGNORE_LOCALHOST: Show queries from localhost
[2019-09-12 18:33:02.486 890]    BLOCKINGMODE: Null IPs for blocked domains
[2019-09-12 18:33:02.486 890]    ANALYZE_ONLY_A_AND_AAAA: Disabled. Analyzing all queries
[2019-09-12 18:33:02.486 890]    DBIMPORT: Importing history from database
[2019-09-12 18:33:02.486 890]    PIDFILE: Using /var/run/pihole-FTL.pid
[2019-09-12 18:33:02.486 890]    PORTFILE: Using /var/run/pihole-FTL.port
[2019-09-12 18:33:02.486 890]    SOCKETFILE: Using /var/run/pihole/FTL.sock
[2019-09-12 18:33:02.486 890]    WHITELISTFILE: Using /etc/pihole/whitelist.txt
[2019-09-12 18:33:02.486 890]    BLACKLISTFILE: Using /etc/pihole/black.list
[2019-09-12 18:33:02.486 890]    GRAVITYFILE: Using /etc/pihole/gravity.list
[2019-09-12 18:33:02.486 890]    REGEXLISTFILE: Using /etc/pihole/regex.list
[2019-09-12 18:33:02.486 890]    SETUPVARSFILE: Using /etc/pihole/setupVars.conf
[18:33:02] INFO: Starting PHP-FPM...
[2019-09-12 18:33:02.486 890]    AUDITLISTFILE: Using /etc/pihole/auditlog.list[services.d] done.
[18:33:02] INFO: Starting PHP-FPM...
[2019-09-12 18:33:02.486 890]    AUDITLISTFILE: Using /etc/pihole/auditlog.list[services.d] done.
[18:33:02] INFO: Starting NGinx....
nginx: [alert] detected a LuaJIT version which is not OpenResty's; many optimizations will be disabled and performance will be compromised (see https://github.com/openresty/luajit2 for OpenResty's LuaJIT or, even better, consider using the OpenResty releases from https://openresty.org/en/download.html)

[2019-09-12 18:33:02.486 890]    MACVENDORDB: Using /etc/pihole/macvendor.db
[2019-09-12 18:33:02.486 890]    PARSE_ARP_CACHE: Active
[2019-09-12 18:33:02.486 890] Finished config file parsing
[2019-09-12 18:33:02.487 890] Database version is 3
[2019-09-12 18:33:02.487 890] Database successfully initialized
[2019-09-12 18:33:02.487 890] Imported 0 queries from the long-term database
[2019-09-12 18:33:02.489 890]  -> Total DNS queries: 0
[2019-09-12 18:33:02.489 890]  -> Cached DNS queries: 0
[2019-09-12 18:33:02.489 890]  -> Forwarded DNS queries: 0
[2019-09-12 18:33:02.489 890]  -> Exactly blocked DNS queries: 0
[2019-09-12 18:33:02.489 890]  -> Unknown DNS queries: 0
[2019-09-12 18:33:02.489 890]  -> Unique domains: 0
[2019-09-12 18:33:02.489 890]  -> Unique clients: 0
[2019-09-12 18:33:02.489 890]  -> Known forward destinations: 0
[2019-09-12 18:33:02.489 890] Successfully accessed setupVars.conf
[2019-09-12 18:33:03.079 890] WARNING: Unable to write PID to file.
[2019-09-12 18:33:03.079 890]          Continuing anyway...[12/Sep/2019:18:33:05 +0200] 200 -(192.168.1.4) GET /api.php?getForwardDestinations HTTP/1.1 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36)
[12/Sep/2019:18:33:05 +0200] 200 -(192.168.1.4) GET /api.php?getQueryTypes HTTP/1.1 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36)

Any suggestion on what can I check?

Hi,

pi hole was working stand alone on a RPi 3B+.
Now I wanted to use pi hole on hass.io running on a RPi4. The WebGUI started in hass.io is working great. But, by typing "https://IP.ADRESS.OF.HASSIO/admin I do not reach the pi hole WEBGUI from any other browser ?

And, what IPv4-Adresse do I have to put into my clients as the pi hole DNS-server ? Just “192.168.xxx.xxx” from the HA-RPi4 running pi hole ?

in the addon config panel, at the end, change the 80 port to another one and then add the port to the address in the browser

So, ANY other port like e. g. 82 ?

And, I have to tell my DNS server the pi hole`s IP-adress. This has to be 192.168.xxx.xxx (from pi hole Raspberry without any port adress ?

Yes, it should be a free port and the dns address does not support port, so yes, the address without port number.

Okay, thank you… some problems left:

  1. I never had the opportunity to set login credentials (name/pwd). The WEBGUI is asking for this.
  2. In the past I had to set some options for optimizing SD card lifetime:
    “sudo nano /etc/pihole/pihole-FTL.conf” and changing DBINTERVAL=1.0
    I also deactivated swapping (Sudo service dphys-swapfile stop, free, sudo systemctl disable dphys- swapfile, sudo apt-get purge dphys-swapfile). Is this possbile anymore ?

The credentials are the same as Hassio

I don’t know if you can do it this way since the addon is a docker container…

Anyone that can help me on this issue?

Thanks