Someone recommended it for keeping my containers up to date automatically. I checked out the repo and it seems too good to be true. It just updates your containers when a new image is available and everything just works out of the box? I’m a bit scared of just leaving it alone in case it might break something. The fact that it doesn’t come with a gui also scares me a bit.
Does anyone here use it and can recommend it? Any horror stories?
I don’t know if maybe I’m using watchtower wrong but i don’t like how it behaves by default. It’s always messing up my container names, not removing old containers and just spinning up new ones, etc and there’s no interface so I can’t view jobs that ran overnight, or see what’s queued or in progress. It just does it’s own thing and I really don’t like that. I’ve installed and un-installed it a few times and it’s been un-installed for a while now. I just redeploy my portainer stacks and pull down the latest image manually when I want to upgrade my containers now. At least I get some control
I just had a strange issue with Watchtower where it somehow failed to update itself. And it left a running but unhealthy duplicate of itself. Just restarting the old container fixed it. But I guess that’s a risk?
Used Watchtower on my Synology for a while and it worked well. No issues in that time.
Now I’ve moved to a Nuc and am more experienced with Docker and understand a lot more of it but by no means am a professional by any means, I would say that I wouldn’t use Watchtower. I can definitely see it messing a config up and prefer not to deal with the headache of troubleshooting something without knowing it was an auto update. If I had the time, I may tag the apps I’m happy to auto-update but for now I prefer to have the higher availability.
Yes, there are risks:
- First, updates can break things. Already explained here.
- Second, exposing Docker socket to Watchtower means you have to trust it ultimately. Any vulnerability in WT can lead to whole system compromise.
Personally, I use DIUN. It just sends me notifications about available updates. I update things manually later. My system is pretty well isolated from outside world, so no need to hurry.
On a VPS, I would prefer a different approach though.
Watchtower itself works great, it doesn’t need a GUI for what it does.
But updating containers in general, either manually or automatically, always carries a risk of something breaking due to the new update.
One thing you can do is make sure you’re not using :latest
tags in your compose files, and instead pin major versions like postgres:13
And of course make sure you have backups going back multiple points in time in case something does break, and test those backups!