Heimdall + Pihole v6 Api #869

Closed
opened 2026-02-20 11:08:20 -05:00 by deekerman · 18 comments
Owner

Originally created by @P4TRINUS on GitHub (Mar 16, 2025).

Does anybody now to get the Pihole V6 Api working?

Or is in development?

Thanks !

Originally created by @P4TRINUS on GitHub (Mar 16, 2025). Does anybody now to get the Pihole V6 Api working? Or is in development? Thanks !
Author
Owner

@wblew commented on GitHub (Mar 23, 2025):

It's working. I had to convince the linuxserver.io image to update its SupportedApps. See linuxserver/Heimdall#290 for details.

My setup uses the linuxserver.io image. Heimdall's /config is-a bind volume, source: /docker/heimdall/config on the host.

Here were my steps to update Heimdall's SupportedApps

  • stop the Heimdall docker container

  • on host: rename /docker/heimdall/config/www/SupportedApps to SupportedApps-OLD

  • start the Heimdall container

  • goto Heimdall's Application list, and click the 'Update Apps List'.

Then it was updating my Pi-hole application's configuration from V5 to V6.

This required setting Pi-hole's "App Password", and using that password in the V6 settings.

@wblew commented on GitHub (Mar 23, 2025): It's working. I had to convince the linuxserver.io image to update its SupportedApps. See linuxserver/Heimdall#290 for details. My setup uses the linuxserver.io image. Heimdall's `/config` is-a bind volume, source: `/docker/heimdall/config` on the host. Here were my steps to update Heimdall's SupportedApps - stop the Heimdall docker container - on host: rename `/docker/heimdall/config/www/SupportedApps` to `SupportedApps-OLD` - start the Heimdall container - goto Heimdall's Application list, and click the 'Update Apps List'. Then it was updating my Pi-hole application's configuration from V5 to V6. This required setting Pi-hole's "App Password", and using that password in the V6 settings.
Author
Owner

@LucasMateijsen commented on GitHub (Mar 26, 2025):

On my side it's also not working. Today I setup a clean install of Heimdall for the first time.

Steps I took:

  • Within Pi-hole I went to:
    • Settings --> Web interface / API
    • Enabled Expert mode by clicking on the green "basic" button
    • Clicked Configure app password
    • Copied the password and clicked Enable new app password
  • In Heimdall I did the following:
    • Application list
    • Clicked Update Apps List
    • Clicked Add
    • Clicked Application Type and selected Pi-hole
    • Url http://XXX.XXX.XXX.XXX/
    • Config:
      • URL I tried leaving it empty, http://XXX.XXX.XXX.XXX, http://XXX.XXX.XXX.XXX/, http://XXX.XXX.XXX.XXX/admin and http://XXX.XXX.XXX.XXX/admin/api.php
      • App Password(v6) I entered the password copied from pihole (the entire string)
      • Version I set on V6
      • I also tried toggling Skipping TLS verification

I always get the same response:
Something went wrong: { "message": "Server Error" }

I'm not sure what else to do.

@LucasMateijsen commented on GitHub (Mar 26, 2025): On my side it's also not working. Today I setup a clean install of Heimdall for the first time. Steps I took: - Within Pi-hole I went to: - `Settings` --> `Web interface / API` - Enabled Expert mode by clicking on the green "basic" button - Clicked `Configure app password` - `Copied the password` and clicked `Enable new app password` - In Heimdall I did the following: - Application list - Clicked `Update Apps List` - Clicked `Add` - Clicked `Application Type` and selected `Pi-hole` - Url `http://XXX.XXX.XXX.XXX/` - Config: - URL `I tried leaving it empty`, `http://XXX.XXX.XXX.XXX`, `http://XXX.XXX.XXX.XXX/`, `http://XXX.XXX.XXX.XXX/admin` and `http://XXX.XXX.XXX.XXX/admin/api.php` - App Password(v6) I entered the `password copied from pihole` (the entire string) - Version I set on `V6` - I also tried toggling Skipping TLS verification I always get the same response: `Something went wrong: { "message": "Server Error" }` I'm not sure what else to do.
Author
Owner

@wblew commented on GitHub (Mar 26, 2025):

ClickingUpdate Apps List didn't work for me. It refuses to update Heimdall's already in use apps.

I went through the same issue you are having, and was it annoying!

The solution I found was the steps I described above: https://github.com/linuxserver/Heimdall/issues/1442#issuecomment-2746622152

@wblew commented on GitHub (Mar 26, 2025): Clicking`Update Apps List` didn't work for me. It refuses to update Heimdall's already in use apps. I went through the same issue you are having, and was it annoying! The solution I found was the steps I described above: https://github.com/linuxserver/Heimdall/issues/1442#issuecomment-2746622152
Author
Owner

@LucasMateijsen commented on GitHub (Mar 27, 2025):

I tried your steps described in #1442 (comment), but to no avail.

  • docker compose down
  • cd /path/to/valheim/config/www
  • mv SupportedApps/ SupportedApps-old/
  • cd /back/to/compose/file
  • docker compose up -d
  • Then I went to the application list and pressed Update Apps List. Folder SupprotedApps is re-created on the server, but I'm observing the exact same behaviour. After filling everything as described in #1442 (comment), I'm still getting Something went wrong: { "message": "Server Error" }.

Potential differences from your setup is that you mentioned that your pi-hole config was being updated from V5 to V6, indicating you had this working before. I'm working with a completely new setup of Heimdall and have to previous configuration of the pi-hole item.

Versions i'm using:
Heimdall(Docker) 6.2.3
Pi-hole Docker tag 2025.03.0
Pi-hole Core 6.0.5
Pi-hole FTL 6.0.4
Pi-hole Web Interface 6.0.2

@LucasMateijsen commented on GitHub (Mar 27, 2025): I tried your steps described in [#1442 (comment)](https://github.com/linuxserver/Heimdall/issues/1442#issuecomment-2746622152), but to no avail. * `docker compose down` * `cd /path/to/valheim/config/www` * `mv SupportedApps/ SupportedApps-old/` * `cd /back/to/compose/file` * `docker compose up -d` * Then I went to the application list and pressed `Update Apps List`. Folder `SupprotedApps` is re-created on the server, but I'm observing the exact same behaviour. After filling everything as described in [#1442 (comment)](https://github.com/linuxserver/Heimdall/issues/1442#issuecomment-2755029878), I'm still getting `Something went wrong: { "message": "Server Error" }`. Potential differences from your setup is that you mentioned that your pi-hole config was being updated from V5 to V6, indicating you had this working before. I'm working with a completely new setup of Heimdall and have to previous configuration of the pi-hole item. Versions i'm using: Heimdall(Docker) `6.2.3` Pi-hole Docker tag `2025.03.0` Pi-hole Core `6.0.5` Pi-hole FTL `6.0.4` Pi-hole Web Interface `6.0.2`
Author
Owner

@P4TRINUS commented on GitHub (Mar 27, 2025):

For me it also doesnt works !

I have

stop the Heimdall docker container

on host: rename /docker/heimdall/config/www/SupportedApps to SupportedApps-OLD

start the Heimdall container

goto Heimdall's Application list, and click the 'Update Apps List'.

Bam - 500 Server error.

I switchtet to the old SupportedApps.

Clicked to "Update Apps List"

No Server Error but PiholeApi doesnt work!

Something went wrong: { "message": "Server Error" }

@P4TRINUS commented on GitHub (Mar 27, 2025): For me it also doesnt works ! I have stop the Heimdall docker container on host: rename /docker/heimdall/config/www/SupportedApps to SupportedApps-OLD start the Heimdall container goto Heimdall's Application list, and click the 'Update Apps List'. Bam - 500 Server error. I switchtet to the old SupportedApps. Clicked to "Update Apps List" No Server Error but PiholeApi doesnt work! Something went wrong: { "message": "Server Error" }
Author
Owner

@LucasMateijsen commented on GitHub (Mar 27, 2025):

Some additional information:

After bashing into the heimdall container, I looked into the laravel log file at /config/www/logs/laravel-YYYY-MM-DD.log:

[2025-03-27 16:19:11] local.ERROR: Connection refused
[2025-03-27 16:19:11] local.DEBUG: cURL error 7: Failed to connect to XXX.XXX.XXX.XXX port YY after 3053 ms: Could not connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://XXX.XXX.XXX.XXX/api/auth
[2025-03-27 16:19:11] local.ERROR: Call to a member function getBody() on null {"userId":1,"exception":"[object] (Error(code: 0): Call to a member function getBody() on null at /config/www/SupportedApps/Pihole/Pihole.php:115)

It looks like the app is not yet fully updated to comply with the new API?

If I go the the url manually, I can see it does exist and I get a valid response:

{"session":{"valid":true,"totp":false,"sid":"XYZXYZYXYZ=","csrf":"XYZXYZYXYZ=","validity":1800,"message":"correct password"},"took":5.9843063354492188e-05}

@LucasMateijsen commented on GitHub (Mar 27, 2025): Some additional information: After bashing into the heimdall container, I looked into the laravel log file at `/config/www/logs/laravel-YYYY-MM-DD.log`: ``` [2025-03-27 16:19:11] local.ERROR: Connection refused [2025-03-27 16:19:11] local.DEBUG: cURL error 7: Failed to connect to XXX.XXX.XXX.XXX port YY after 3053 ms: Could not connect to server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://XXX.XXX.XXX.XXX/api/auth [2025-03-27 16:19:11] local.ERROR: Call to a member function getBody() on null {"userId":1,"exception":"[object] (Error(code: 0): Call to a member function getBody() on null at /config/www/SupportedApps/Pihole/Pihole.php:115) ``` It looks like the app is not yet fully updated to comply with the new API? If I go the the url manually, I can see it does exist and I get a valid response: `{"session":{"valid":true,"totp":false,"sid":"XYZXYZYXYZ=","csrf":"XYZXYZYXYZ=","validity":1800,"message":"correct password"},"took":5.9843063354492188e-05}`
Author
Owner

@tristobal commented on GitHub (Mar 31, 2025):

Reading the pihole v6 documentation:

The Pi-hole API uses a session-based authentication system. This means that you will not be able to use a static token to authenticate your requests.

And the app in Heimdall requires an API Key =(

@tristobal commented on GitHub (Mar 31, 2025): Reading the pihole v6 documentation: > The Pi-hole API uses a session-based authentication system. This means that you will not be able to use a static token to authenticate your requests. And the app in Heimdall requires an API Key =(
Author
Owner

@mtrolley commented on GitHub (Apr 6, 2025):

And the app in Heimdall requires an API Key =(

I just got it working myself. The same docs you reference show that Heimdall needs to make an API call to get a session ID, which it does.

Exactly how I got it to work was:

  1. Followed the instructions above up update the apps.
  2. Go into Pi-hole Web Interface / API settings, turn on Expert settings, and click Configure app password.
  3. Copy the password then click Replace app password or whatever the button in the bottom right says if you haven't set one up before. You'll get logged out of the Pi-hole.
  4. In Heimdall put that app password in the API config, set version to v6, and if you're like me and have the /admin in your Heimdall Pi-hole URL put the hostname without the /admin in the API config URL.
@mtrolley commented on GitHub (Apr 6, 2025): > And the app in Heimdall requires an API Key =( I just got it working myself. The same docs you reference show that Heimdall needs to make an API call to get a session ID, which it does. Exactly how I got it to work was: 1. Followed the instructions above up update the apps. 2. Go into Pi-hole **Web Interface / API** settings, turn on **Expert** settings, and click **Configure app password**. 3. Copy the password then click **Replace app password** or whatever the button in the bottom right says if you haven't set one up before. You'll get logged out of the Pi-hole. 4. In Heimdall put that app password in the API config, set version to v6, and if you're like me and have the `/admin` in your Heimdall Pi-hole URL put the hostname without the `/admin` in the API config URL.
Author
Owner

@Xanex2000 commented on GitHub (Apr 23, 2025):

"4. In Heimdall put that app password in the API config, set version to v6, and if you're like me and have the /admin in your Heimdall Pi-hole URL put the hostname without the /admin in the API config URL."

This was the missing step for me

@Xanex2000 commented on GitHub (Apr 23, 2025): "4. In Heimdall put that app password in the API config, set version to v6, and if you're like me and have the /admin in your Heimdall Pi-hole URL put the hostname without the /admin in the API config URL." This was the missing step for me
Author
Owner

@m3tc0n commented on GitHub (Apr 30, 2025):

Hi all, I am having the same problem. But following the guide of @wblew did not solve it.

I have stopped the heimdall container, changed the map to SupportedApps-OLD, started the container again en updated the apps list.

I also don't have a option to choose pihole v6.

What am I doing wrong?

@m3tc0n commented on GitHub (Apr 30, 2025): Hi all, I am having the same problem. But following the guide of @wblew did not solve it. I have stopped the heimdall container, changed the map to SupportedApps-OLD, started the container again en updated the apps list. I also don't have a option to choose pihole v6. What am I doing wrong?
Author
Owner

@wblew commented on GitHub (Apr 30, 2025):

When I updated my SupportedApps-OLD it didn't update the Pi-hole app. Which I found strange.

Maybe that is what's happening?

@wblew commented on GitHub (Apr 30, 2025): When I updated my SupportedApps-OLD it didn't update the Pi-hole app. Which I found strange. Maybe that is what's happening?
Author
Owner

@m3tc0n commented on GitHub (May 1, 2025):

OK, but the metrics are still not working in heimdall. How is that possible?

@m3tc0n commented on GitHub (May 1, 2025): OK, but the metrics are still not working in heimdall. How is that possible?
Author
Owner

@misterjtc commented on GitHub (May 11, 2025):

And the app in Heimdall requires an API Key =(

I just got it working myself. The same docs you reference show that Heimdall needs to make an API call to get a session ID, which it does.

Exactly how I got it to work was:

  1. Followed the instructions above up update the apps.
  2. Go into Pi-hole Web Interface / API settings, turn on Expert settings, and click Configure app password.
  3. Copy the password then click Replace app password or whatever the button in the bottom right says if you haven't set one up before. You'll get logged out of the Pi-hole.
  4. In Heimdall put that app password in the API config, set version to v6, and if you're like me and have the /admin in your Heimdall Pi-hole URL put the hostname without the /admin in the API config URL.

This worked for me. Thank you very much.

The key for me was with the URL information in step 4.

@misterjtc commented on GitHub (May 11, 2025): > > And the app in Heimdall requires an API Key =( > > I just got it working myself. The same docs you reference show that Heimdall needs to make an API call to get a session ID, which it does. > > Exactly how I got it to work was: > > 1. Followed the instructions above up update the apps. > 2. Go into Pi-hole **Web Interface / API** settings, turn on **Expert** settings, and click **Configure app password**. > 3. Copy the password then click **Replace app password** or whatever the button in the bottom right says if you haven't set one up before. You'll get logged out of the Pi-hole. > 4. In Heimdall put that app password in the API config, set version to v6, and if you're like me and have the `/admin` in your Heimdall Pi-hole URL put the hostname without the `/admin` in the API config URL. This worked for me. Thank you very much. The key for me was with the URL information in step 4.
Author
Owner

@P4TRINUS commented on GitHub (May 12, 2025):

I have the Image :

lscr.io/linuxserver/heimdall:development

working fine !! THANKS !

@P4TRINUS commented on GitHub (May 12, 2025): I have the Image : lscr.io/linuxserver/heimdall:development working fine !! THANKS !
Author
Owner

@PrometheusWannaB3 commented on GitHub (May 16, 2025):

I've had PiHole running for a while <core version 6.0.6> and have installed Heimdall again and had the issues above where the Pi-Hole api is failing to configure.
Following the above steps, I am unable to get the Heimdall page to successfully pull the APIs.

I do not believe I am using a password as I can pull https:///api/history and get data back just fine. I can also curl this successfully when attached to the running docker.
I have tried renaming the Heimdall updates file, but It already lets me select 'v6' as an option for the API.
I have tried the Development branch, same issues.

The only two real odd things in my setup might be that I am not using authentication?
I can just go to https:///admin and it goes to the dashboard.
I can just pull http:///api/ and get the results.

The docker can ping the pihole and curl the pages, it just seems like Heimdall is not using the new v6 API?

@PrometheusWannaB3 commented on GitHub (May 16, 2025): I've had PiHole running for a while <core version 6.0.6> and have installed Heimdall again <fresh docker install> and had the issues above where the Pi-Hole api is failing to configure. Following the above steps, I am unable to get the Heimdall page to successfully pull the APIs. I do not believe I am using a password as I can pull https://<pihole>/api/history and get data back just fine. I can also curl this successfully when attached to the running docker. I have tried renaming the Heimdall updates file, but It already lets me select 'v6' as an option for the API. I have tried the Development branch, same issues. The only two real _odd_ things in my setup might be that I am _not_ using authentication? I can just go to https://<pihole>/admin and it goes to the dashboard. I can just pull http://<pihole>/api/<whatever API call> and get the results. The docker can ping the pihole and curl the pages, it just seems like Heimdall is not using the new v6 API?
Author
Owner

@LinuxServer-CI commented on GitHub (Jun 16, 2025):

This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.

@LinuxServer-CI commented on GitHub (Jun 16, 2025): This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
Author
Owner

@LinuxServer-CI commented on GitHub (Jul 29, 2025):

This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.

@LinuxServer-CI commented on GitHub (Jul 29, 2025): This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
Author
Owner

@LinuxServer-CI commented on GitHub (Oct 28, 2025):

This issue is locked due to inactivity

@LinuxServer-CI commented on GitHub (Oct 28, 2025): This issue is locked due to inactivity
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Heimdall#869
No description provided.