Pi-hole in 2024

Hi
Saw pi-hole app was recently updated in the official truenas scale catalog.
Tried directly with installation, still not working. Anyone had an idea how to get pi-hole from official app working?

error what i see:
pihole-FTL: no process found
Stopping pihole-FTL

Which release of SCALE are you on? Just tried installing on dragonfish (24.04) and deployed without issue.

Dragonfish-24.04.2.2.

pihole
App Version:2024.07.0
Chart Version:2.0.14

Heres the error that i can see in the GUI

from the pod logs:

2024-09-24 03:45:51.724668+08:00s6-rc: info: service s6rc-oneshot-runner: starting
2024-09-24 03:45:51.726916+08:00s6-rc: info: service s6rc-oneshot-runner successfully started
2024-09-24 03:45:51.727001+08:00s6-rc: info: service fix-attrs: starting
2024-09-24 03:45:51.729755+08:00s6-rc: info: service fix-attrs successfully started
2024-09-24 03:45:51.729820+08:00s6-rc: info: service legacy-cont-init: starting
2024-09-24 03:45:51.732396+08:00s6-rc: info: service legacy-cont-init successfully started
2024-09-24 03:45:51.732514+08:00s6-rc: info: service cron: starting
2024-09-24 03:45:51.734147+08:00s6-rc: info: service cron successfully started
2024-09-24 03:45:51.734219+08:00s6-rc: info: service _uid-gid-changer: starting
2024-09-24 03:45:51.736646+08:00s6-rc: info: service _uid-gid-changer successfully started
2024-09-24 03:45:51.736829+08:00s6-rc: info: service _startup: starting
2024-09-24 03:45:51.746588+08:00[i] Starting docker specific checks & setup for docker pihole/pihole
2024-09-24 03:45:51.746624+08:00[i] Setting capabilities on pihole-FTL where possible
2024-09-24 03:45:51.749957+08:00[i] Applying the following caps to pihole-FTL:
2024-09-24 03:45:51.750010+08:00* CAP_CHOWN
2024-09-24 03:45:51.750023+08:00* CAP_NET_BIND_SERVICE
2024-09-24 03:45:51.750033+08:00* CAP_NET_RAW
2024-09-24 03:45:51.750061+08:00* CAP_NET_ADMIN
2024-09-24 03:45:52.041675+08:00[i] Ensuring basic configuration by re-running select functions from basic-install.sh
2024-09-24 03:45:52.041792+08:002024-09-24T03:45:52.041792776+08:00
2024-09-24 03:45:52.041851+08:00[i] Installing configs from /etc/.pihole...
2024-09-24 03:45:52.048295+08:00[i] Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
2024-09-24 03:45:52.053226+08:00[i] Installing /etc/dnsmasq.d/01-pihole.conf...
e[K  [✓] Installed /etc/dnsmasq.d/01-pihole.conf
2024-09-24 03:45:52.076501+08:00[i] Installing /etc/.pihole/advanced/06-rfc6761.conf...
e[K  [✓] Installed /etc/dnsmasq.d/06-rfc6761.conf
2024-09-24 03:45:52.422617+08:002024-09-24T03:45:52.422617847+08:00
2024-09-24 03:45:52.428464+08:00[i] Installing latest logrotate script...
2024-09-24 03:45:52.428536+08:00[i] Existing logrotate file found. No changes made.
2024-09-24 03:45:58.211077+08:00[i] Custom WEB_PORT set to 20720
2024-09-24 03:45:58.211171+08:00[i] Without proper router DNAT forwarding to 0.0.0.0:20720, you may not get any blocked websites on ads
2024-09-24 03:45:58.213050+08:00[i] Assigning password defined by Environment Variable
2024-09-24 03:45:58.487955+08:00[✓] New password set
2024-09-24 03:45:58.525773+08:00[i] Added ENV to php:
2024-09-24 03:45:58.528253+08:00"TZ" => "Asia/Kuala_Lumpur",
2024-09-24 03:45:58.528319+08:00"PIHOLE_DOCKER_TAG" => "",
2024-09-24 03:45:58.528358+08:00"PHP_ERROR_LOG" => "/var/log/lighttpd/error-pihole.log",
2024-09-24 03:45:58.528394+08:00"CORS_HOSTS" => "",
2024-09-24 03:45:58.528427+08:00"VIRTUAL_HOST" => "truenas",
2024-09-24 03:45:58.531798+08:00[i] Using IPv4 and IPv6
2024-09-24 03:45:58.534744+08:002024-09-24T03:45:58.534744073+08:00
2024-09-24 03:45:58.548549+08:00[i] Installing latest Cron script...
e[K  [✓] Installing latest Cron script
2024-09-24 03:45:58.548727+08:00[i] Preexisting ad list /etc/pihole/adlists.list detected (exiting setup_blocklists early)
2024-09-24 03:45:58.552677+08:00[i] Existing DNS servers detected in setupVars.conf. Leaving them alone
2024-09-24 03:45:58.557234+08:00[i] Applying pihole-FTL.conf setting LOCAL_IPV4=0.0.0.0
2024-09-24 03:45:58.659933+08:00[i] FTL binding to default interface: eth0
2024-09-24 03:45:58.678688+08:00[i] Enabling Query Logging
2024-09-24 03:45:58.854390+08:00[i] Testing lighttpd config: Syntax OK
2024-09-24 03:45:58.854814+08:00[i] All config checks passed, cleared for startup ...
2024-09-24 03:45:58.856416+08:00[i] Docker start setup complete
2024-09-24 03:45:58.856456+08:002024-09-24T03:45:58.856456092+08:00
2024-09-24 03:45:58.856482+08:00[i] pihole-FTL (no-daemon) will be started as root
2024-09-24 03:45:58.856516+08:002024-09-24T03:45:58.856516573+08:00
2024-09-24 03:45:58.857176+08:00s6-rc: info: service _startup successfully started
2024-09-24 03:45:58.857309+08:00s6-rc: info: service pihole-FTL: starting
2024-09-24 03:45:58.859366+08:00s6-rc: info: service pihole-FTL successfully started
2024-09-24 03:45:58.859499+08:00s6-rc: info: service lighttpd: starting
2024-09-24 03:45:58.861902+08:00s6-rc: info: service lighttpd successfully started
2024-09-24 03:45:58.862005+08:00s6-rc: info: service _postFTL: starting
2024-09-24 03:45:58.863732+08:00s6-rc: info: service _postFTL successfully started
2024-09-24 03:45:58.863836+08:00s6-rc: info: service legacy-services: starting
2024-09-24 03:45:58.864216+08:00Checking if custom gravity.db is set in /etc/pihole/pihole-FTL.conf
2024-09-24 03:45:58.868453+08:00s6-rc: info: service legacy-services successfully started
2024-09-24 03:45:59.177227+08:00[i] Neutrino emissions detected...
2024-09-24 03:45:59.184789+08:00e[K  [✓] Pulling blocklist source list into range
2024-09-24 03:45:59.184836+08:002024-09-24T03:45:59.184836309+08:00
2024-09-24 03:45:59.284678+08:00[i] Preparing new gravity database...
e[K  [✓] Preparing new gravity database
2024-09-24 03:45:59.341208+08:00[i] Creating new gravity databases...Stopping pihole-FTL
2024-09-24 03:45:59.360327+08:002024-09-24T03:45:59.360327078+08:00
2024-09-24 03:45:59.360530+08:00[✗] Unable to copy data from /etc/pihole/gravity.db to /etc/pihole/gravity.db_temp
2024-09-24 03:45:59.360573+08:002024-09-24T03:45:59.360573613+08:00
2024-09-24 03:45:59.360663+08:00[✗] Unable to create gravity database. Please try again later. If the problem persists, please contact support.
2024-09-24 03:46:00.286920+08:00Stopping pihole-FTL
2024-09-24 03:46:00.290285+08:00pihole-FTL: no process found
2024-09-24 03:46:00.994841+08:00Stopping pihole-FTL
2024-09-24 03:46:00.997941+08:00pihole-FTL: no process found
2024-09-24 03:46:02.001033+08:00Stopping pihole-FTL

This appears to be a permissions issue, how did you configure the storage for the app?

path: pool/apps/pi-hole
permission as below. i just created a dataset, didnt make any changes on the permission end
even if i put owner and group owner as root. once i start the app, it changes back as owner:netdata group owner:1000

Well, don’t know about Dragonfish but in other versions I’ve not been able to make PiHole work with hostpath storage in a dataset. Now using default ixsystems storage for both config and DNSMASQ data for my PiHole official app.

wow that works. LOL idk why i cant use my own dataset… probably a bug :sweat_smile:

yet there still error.

A common problem. There are several solutions depending on whether your truenas network is exposed to the internet with open ports. I don’t do that and run PiHole behind a firewall so this works for me:

Edit the Pihole app
Under additional environment variables type in under Name: “Interface”
Then for Value: “your truenas network name”
Save the app and in the Pihole GUI go to settings and select the DNS tab
Select “Permit all Origins”

Added the “Additional Environment Variables”
For “Interface” value is it the NIC name for my truenas
or i need to find the ones for my app? (vethxxxxxx)

I ask because. I already set it to my truenas NIC interface name. Also in pihole dns settings, changed it to “Permit all Origins”

The earlier error clears. Now i just didnt get any hits to my pihole…Yet in the podshell it still showing as eth0. Any idea how to go from here?

image

Not sure what you mean by hits? Anything in the pihole GUI query log or any active clients showing the correct interface? Interface value should something like “en****”