After being away for a week, came home to find my instance not working correctly. Still appeared to be resolving DNS, but the admin portal was not accepting connections. This seems to have been a common issue before.
On my Raspberry, port 80 was being used, but bound to the docker image, as per the run script.
Inside the runtime image, port 80 was not being used.
Rather than trouble shooting the httpd process, I trashed my pihole/pihole image and downloaded again. The image was just updated 13 days ago.
However, the same symptoms / problem occurred.
In looking at the runtime processes within the docker image, it looks like there may be shell scripting errors in the start up scripts, as the ps output shows "if/then" logic.
For example:
if /etc/s6/init/init-stage2-redirfd foreground if if s6-echo -n -- [s6-init] making user provided files available at /var/run/s6/etc...
"ps -ef" listing:
pi@raspberrypi:~ $ docker exec -it pihole /bin/bash
root@25655f99589f:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 01:40 ? 00:00:00 s6-svscan -t0 /var/run/s6/services
root 29 1 0 01:40 ? 00:00:00 foreground if /etc/s6/init/init-stage2-redirfd foreground if if s6-echo -n -- [s6-init] making user provided files available at /va
root 30 1 0 01:40 ? 00:00:00 s6-supervise s6-fdholderd
root 37 29 0 01:40 ? 00:00:00 if /etc/s6/init/init-stage2-redirfd foreground if if s6-echo -n -- [s6-init] making user provided files available at /var/run/s6/etc...
root 38 37 0 01:40 ? 00:00:00 foreground if if s6-echo -n -- [s6-init] making user provided files available at /var/run/s6/etc... foreground backtick -n S6_RUNTIME_
root 43 38 0 01:40 ? 00:00:00 if if -t s6-test -d /var/run/s6/etc/cont-init.d if s6-echo [cont-init.d] executing container initialization scripts... if pipeline s6-ls
root 212 43 0 01:40 ? 00:00:00 if pipeline s6-ls -0 -- /var/run/s6/etc/cont-init.d pipeline s6-sort -0 -- forstdin -o 0 -0 -- i importas -u i i if s6-echo --
root 215 212 0 01:40 ? 00:00:00 forstdin -o 0 -0 -- i importas -u i i if s6-echo -- [cont-init.d] ${i}: executing... foreground /var/run/s6/etc/cont-init.d/${i} importas -u ? ? if s6-echo
root 216 215 0 01:40 ? 00:00:00 [s6-ls]
root 217 215 0 01:40 ? 00:00:00 [s6-sort]
root 218 215 0 01:40 ? 00:00:00 foreground /var/run/s6/etc/cont-init.d/20-start.sh importas -u ? ? if s6-echo -- [cont-init.d] 20-start.sh: exited ${?}. ifelse s6-test 2 -eq 0 exit 0
root 220 218 0 01:40 ? 00:00:00 bash /var/run/s6/etc/cont-init.d/20-start.sh
root 330 1 3 01:40 ? 00:00:01 pihole-FTL test
root 345 220 0 01:40 ? 00:00:00 bash /opt/pihole/gravity.sh
root 410 0 2 01:41 pts/0 00:00:00 /bin/bash
root 417 345 0 01:41 ? 00:00:00 timeout 1 getent hosts pi.hole
root 418 417 0 01:41 ? 00:00:00 getent hosts pi.hole
root 419 410 0 01:41 pts/0 00:00:00 ps -ef
root@25655f99589f:/#
Expected Behaviour:
Admin page should work
Actual Behaviour:
Admin page not accepting requests.
Internal docker process listings look wrong.
Debug Token:
pihole -d generated a script error at then end of the report process.
[?] Would you like to upload the log? [y/N] y
* Using curl for transmission.
/opt/pihole/piholeDebug.sh: line 1151: warning: command substitution: ignored null byte in input
Debug log did show:
*** [ DIAGNOSING ]: Pi-hole processes
[✗] lighttpd daemon is inactive
[✗] pihole-FTL daemon is inactive