CE and Docker: Pi-Hole setup and configuration


I installed latest nightly build (24.12) on X96 Air and critical things works - including Plex Media Server but i can’t force to work Pi-Hole.

I install is and try to log into admin but nothing works. I saw some advices on this forum but some of them is old and i don;t know how to make PiHole working (second important docker module is Domoticz for me).

Any news and idea what to do step by step.
PLEX MS i installed, logged in via web and all worked.

For Pi-Hole i tried also on Tanix Mini 3 and stable build and the same issue - so i assume im missing something.

After you start the pihole container, you can do docker logs pihole and you should see the password.
You can also follow the guide on the docker hub on how to reset/set the password manually.

Does pi-hole work for you?

I have tried netdata from the linuxserver.io repository and it works, but pi-hole does not work. Pi-hole has disappeared from linuxserver.io projects, I think pi-hole doesn’t work. I wanted to migrate from entware to docker, but in the linuxserver.io repository I find almost nothing of what I already have working (zerotier and syncthing are the most important for me).

I just pulled pihole/pihole:latest and it runs fine.
But it will not work on 3.14 kernel, you need 4.9 kernel to run it.
So only -ng builds are compatible.

1 Like

have any1 pihole container working ?

fresh Coreelec on Odroid N2

docker run -d \
    --name pihole \
    -p 53:53/tcp -p 53:53/udp \
    -p 80:80 \
    -p 443:443 \
    -e TZ="America/Chicago" \
    -v "$(pwd)/etc-pihole/:/etc/pihole/" \
    -v "$(pwd)/etc-dnsmasq.d/:/etc/dnsmasq.d/" \
    --dns= --dns= \
    --restart=unless-stopped \

pihole isnt working, on the right side “-2 blocked Domains”
i can login and make gravity update, but blocked domains stays at -2


Not sure. Works fine here.
Make sure that you run it from a location where you have write permissions in.
Like ~/downloads/pihole or something like that.

Hi all,

I have installed Docker Pihole on a Beeling GT1 Ultimate, S912 device with 3.14 kernel with CoreELEC latest nightly build. Installed it via SSH and image pihole/pihole:v4.4-arm64. At first run it won’t run because of an error you con see in pihole logs. I solved this by extracting start.sh from the pihole image, then I add this line “rm /etc/lighttpd/lighttpd.conf” (without the quotes) and then copying it to back to the pihole image.

Workaround for CoreELEC

# docker cp pihole:/start.sh .
# nano start.sh

add line rm /etc/lighttpd/lighttpd.conf

echo " ::: Starting docker specific setup for docker pihole/pihole"
validate_env || exit 1
rm /etc/lighttpd/lighttpd.conf

save the file then run;

# docker cp start.sh pihole:/start.sh
# docker restart pihole

Then it worked just fine

Credits to this link:

1 Like

The Problem was that pihole/pihole:latest pulled the wrong image for Odroid N2 :slight_smile:

right one is pihole/pihole:v4.4-armhf

Interesting. Actually, I’ve had the same problem a few days ago when I tried to update from 4.3.2.
I’ll give v4.4-armhf a go later tonight.

Looks like it killed my queries log, but indeed it seems to be working now.

I use the specific pull command to ARM64. I think pulling the “latest” is returning the wrong build for our system since I had database errors in the web interface.
you should use this.
docker pull pihole/pihole:v4.4-arm64


I still see a db error in the Network tab, did pulling the arm64 version solve this problem for you?

Yes! exactly the same error. Working great with arm64 version.

Switched to arm64 and still have the same error.

Have you removed the old image and the old container? To do it run docker stop pihole then run docker system prune -f That last command will delete everything not being used.

I’m running this with the latest Pihole beta 5.0 on Beelink GT1 Ultimate running on latest CoreELEC nightly.

After this run your docker run/create command replacing the line “pihole/pihole:latest” with pihole/pihole:beta-v5.0-arm64 will download that image and create the new container.

Hope this works for you.