Skip to content

pihole status always reports "DNS service is NOT running" on v6 due to removed files.pid config key #6628

@igorvita

Description

@igorvita

Versions

Pi-hole: v6.6.1
Web: v6.6.1
FTL: v6.6.1

Platform

OS and version: Debian 12 (Bookworm)
Platform: LXC container inside Proxmox

Expected behavior

pihole status should report FTL is listening on port 53 and Pi-hole blocking is enabled when FTL is running correctly and DNS is responding normally.

Actual behavior / bug

pihole status always reports DNS service is NOT running even when FTL is fully operational.
The root cause is in statusFunc() inside /usr/local/bin/pihole, which calls getFTLConfigValue files.pid to retrieve the PID file path. However, the files.pid key no longer exists in the v6 TOML configuration:
bashpihole-FTL --config files

files.pid is not listed among the available keys

As a result, getFTLConfigValue returns an empty string, getFTLPID receives an invalid path and returns -1, causing statusFunc() to always conclude that FTL is not running — regardless of its actual state.
FTL is still writing its PID to /run/pihole-FTL.pid by default, but the status script never looks there.

Steps to reproduce

Steps to reproduce the behavior:

Install PiHole v6 on any platform
Run pihole status
Observe DNS service is NOT running despite FTL being fully active

Verification that FTL is actually running correctly:
bashss -tulpn | grep :53 # port 53 is open and owned by pihole-FTL
cat /run/pihole-FTL.pid # PID file exists and contains a valid PID
ps aux | grep pihole-FTL # process is running with that PID
nslookup google.com 127.0.0.1 # DNS resolution works correctly
Workaround (until a fix is released): patch the statusFunc() in /usr/local/bin/pihole by replacing:
bashftl_pid_file="$(getFTLConfigValue files.pid)"
with:
bashftl_pid_file="$(getFTLConfigValue files.pid)"
ftl_pid_file="${ftl_pid_file:-/run/pihole-FTL.pid}"

Debug Token

Screenshots

N/A

Additional context

Pi-hole is not running in Docker. It is installed natively inside a Proxmox LXC container (not a Docker/Compose setup). No Compose file or docker run command applies.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions