I've just tried to update to the pihole/pihole:latest (5.5.1) and hit an error.
I use Portainer, which typically handles the new pull and swap over of configs....
The switch today failed, and I'm getting this error:
pihole /start.sh: line 57: /root/ph_install.sh: no such file or directory
I've rolled back to the prior image (Pi-hole v5.3.1 / Web Interface 5.5 / FTL v5.8.1) and everything restarted fine.
I only bind mount /etc/dnsmasq.d and /etc/pihole - nothing in /root
There is no reference to /root/ph_install.sh in the prior version of /start.sh
I was considering a temporary file bind mount to 'fake' /root/ph_install.sh to see if that cures it but haven't done it yet.
Per point 2 on the updating/reconfiguring section of the Readme:
Throw away your container: docker rm -f pihole
Warning When removing your pihole container you may be stuck without DNS until step 3; ?docker pull before docker rm -f to avoid DNS interruption OR always have a fallback DNS server configured in DHCP to avoid this problem altogether.
If you care about your data (logs/customizations), make sure you have it volume-mapped or it will be deleted in this step.
Not doing so will put your container into a weird limbo state.
Personally, I would never let an automatic process update Pi-hole, or any other system integral to my network, but that's just me
I make a habit, when updating of running docker-compose pull && docker-compose down && docker-compose up -d && docker-compose logs -f pihole
I don't have a compose file for it (yet) as it's in Portainer - which does (I believe) the equivalent.
I will try a couple of things shortly and see if I can pin it down.
This is what has changed in the image that is causing an issue for you:
If the container was being fully destroyed and recreated, then the issue would not show. I have just spun up a fresh container to make sure I'm not talking out of turn!
I've never used portainer, but from a little googling it seems to have a recreate option?
And it's started now. VERSION now shows as v5.8.1
PIHOLE_INSTALL now shows as /etc/.pihole/automated install/basic-install.sh
(portainer will recreate that if a recreate/pull is done, so at least worth documenting here for any other portainer users that a few variables may need clobbering before the recreate is issued)
Ah-hah. Yeah, OK that makes sense, but I also don't really understand why it is holding onto them. No matter, thanks for figuring it out and letting us know what it was!
No worries - I thought it was likely "me" as no-one else was reporting similar. When you mentioned the github changed I saw the VERSION piece and it clicked then.
Portainer is just being a smidge too clever It's recreate holds everything that is set, including BY the container (running config). I've taken those VARs out of the compose file now and set it as a Portainer stack, so I can still recreate the container (on it's own) OR restart the stack, which should pull the whole lot.
I'm moving my DNS to a stack anyway as I've got a custom DNS front end Container which does some mobile/roaming security AND runs a DNSCrypt connection, feeds into the pihole container, and then piHole is pointed back to the DNSCrypt connection. (sounds messy, but it works).
Hey Wingspanner, I'm running Pihole in the same environment like you. Can you tell me what you exactly did? I removed the 6 environment variables in the settings like in the post from ptruman. The container then is no longer restarting all the time, what is good. It looks like that Pihole is also running but the web interface is now not reachable anymore. Any idea about that?
Exact same issue here with Portainer on a Synology.
Recreate or Duplicate didn't work.
Could be indeed linked to env variable as Synology has a known bug that doesn't allow edition of deployed container. (You think you edited the variable, it says ok, but if you reopen the details, you see nothing has changed)
Anyway, I created a new Container from scratch and it started perfectly.
Thx for your help mate!
Really don't know where my fault was, but WebIF works again now.
Created a new Container from the start with the necessary variables und without the 6, and now it works. Looks like that it´s not working if the container started once with that 6 variables.
Thanks ptruman - I also run PiHole managed with Portainer and my most recent update failed to restart. Removing the environmental variables as outlined in your post and recreating the container fixed it.