DescriptionHi everyone. I have two identical Pi-hole v6 installations on 2 different units monitored by the same Homepage v2.1.1 instance. Description The Pi-hole widget works correctly for Pi-hole #1 but Pi-hole #2 consistently fails with: API Error: Pi-Hole API Error Environment Homepage Version: v2.1.1 Both Pi-hole installations Both are running: Working Pi-hole: Failing Pi-hole: The Docker container names are different, so there is no container-name collision. What I have tested The Pi-hole #2 API works correctly independently of Homepage. Authentication: returns: Using that SID: also works correctly. Traefik → Pi-hole #2 also works: returns the expected 401 because no authentication is supplied, confirming the request reaches Pi-hole correctly. Pi-hole API debug output I enabled:
and inspected the Pi-hole FTL logs while Homepage was requesting the widget. Pi-hole successfully processes requests using a valid cookie session: However, Homepage subsequently sends a different SID through the HTTP header: So Pi-hole is explicitly reporting that the SID supplied by Homepage is unknown. Additional test I completely deleted and recreated the Homepage container to eliminate a stale in-memory session/cache:
and redeployed the Portainer stack. The problem persists unchanged. Interesting observation If I swap the two widget configurations, the result follows the Pi-hole: server#1 → Pi-hole #1 → works Therefore this does not appear to be related to the Docker container name, Docker network, Traefik routing, or the server: configuration. It appears to be related to how Homepage handles the Pi-hole v6 API session/SID for this second Pi-hole instance. homepage versionv2.1.1 Installation methodDocker Configurationservice.yaml- Pi-Hole:
href: https://pihole1.myserver.com//admin/
icon: pi-hole.png
server: localdocker
container: pihole-unbound_v6
widget:
type: pihole
url: https://pihole1.myserver.com/
version: 6
key: <password>
- Pi-Hole:
href: https://pihole2.myserver.com/admin/
icon: pi-hole.png
server: thinkcentre
container: pihole-unbound_v6-2
widget:
type: pihole
url: https://pihole2.myserver.com/
version: 6
key: <password>
docker compose:
services:
dockerproxy:
image: ghcr.io/tecnativa/docker-socket-proxy:latest
container_name: dockerproxy
environment:
- CONTAINERS=1 # Allow access to viewing containers
- SERVICES=1 # Allow access to viewing services (necessary when using Docker Swarm)
- TASKS=1 # Allow access to viewing tasks (necessary when using Docker Swarm)
- POST=0 # Disallow any POST operations (effectively read-only)
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only
healthcheck:
test: wget --spider http://localhost:2375/version || exit 1
interval: "30s"
timeout: "5s"
retries: 3
start_period: "30s"
networks:
- homepage_dockerproxy_net
restart: unless-stopped
homepage-proxy:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage-proxy
depends_on:
dockerproxy:
condition: service_healthy
volumes:
- /home/holger/homepage/config:/app/config
- /media/holger/PortableSSD:/storage:ro
- /media/holger/PortableSSD1:/storage1:ro
- /home/holger/homepage/images:/app/public/images
ports:
- 3000:3000
environment:
- HOMEPAGE_ALLOWED_HOSTS=*
- PUID:1000
- PGID:1000
- DNS:192.168.1.100
labels:
- traefik.enable=true
networks:
- homepage_dockerproxy_net
- traefik_net
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000"]
interval: 30s
timeout: 10s
retries: 5
restart: unless-stopped
networks:
homepage_dockerproxy_net:
name: homepage_dockerproxy_net
traefik_net:
external: trueContainer Logserror: Error calling Pi-Hole API: 401. Data: {"error":{"key":"unauthorized","message":"Unauthorized","hint":null},"took":4.2676925659179688e-05} Browser LogsNo response TroubleshootingI performed the recommended checks:
The Pi-hole debug log provides the most relevant evidence. Pi-hole successfully accepts a valid session via cookie, but when Homepage sends its X-FTL-SID header, Pi-hole reports: Therefore the Pi-hole API itself is reachable and functional, but Homepage appears to be sending an X-FTL-SID that is unknown to the Pi-hole instance. |
Replies: 3 comments
|
LLMs sometimes miss the obvious. The support template actually points to https://gethomepage.dev/troubleshooting/#service-widget-errors , see the second item. |
|
Thanks for pointing me to the right answer. I couldn't figure that one out. Strangly I have other widgets that also have the same name point to 2 different servers and it is not a problem there (e.g. portainer, traefik, watcher. any Thanks again. |
|
This discussion has been automatically closed because it was marked as answered. See our contributing guidelines for more details. |
LLMs sometimes miss the obvious. The support template actually points to https://gethomepage.dev/troubleshooting/#service-widget-errors , see the second item.