this post was submitted on 15 Nov 2023
3 points (100.0% liked)

Self-Hosted Main

21 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

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?

top 20 comments
sorted by: hot top controversial new old
[–] Calm-Size-1110@alien.top 2 points 11 months ago

You can set notifications so you know which container are updated recently. If that container stops working, then just revert to previous image.

And configure when watchtower should run the update. I set mine to update at 8pm, so in case something breaks, I still have a few hours before bedtime to fix it.

[–] Simon-RedditAccount@alien.top 2 points 11 months ago

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.

[–] zfa@alien.top 1 points 11 months ago (1 children)

Normally fine but if you want to be more careful about what is being pushed to your server you can use something like diun to get notifications and run updates manually.

Personally I love dockcheck, which I think is by a guy on the sub. I tend to just run that every now and again and be done with it unless I am notified of a perssing update, although I do still have a couple of things I don't care too much about just auto update with watchtower.

[–] thekrautboy@alien.top 1 points 11 months ago

I am happy in the camp of diun+dockcheck too, they both dont get enough love.

[–] Lanten101@alien.top 1 points 11 months ago

Bee using it for a while no issues, only tim3 I had to manually revert the update was when plex broke transcoding..

You can add a flag to delete old images as well.. otherwise they pile up and takes lot of space

[–] Old-Satisfaction-564@alien.top 1 points 11 months ago

I prefer to be there when container ar updated so that I can promptly fix anything that breaks.

I have 2 watchtower instances in a docker-compose, the first container 'watchtower-monitor' uses command: --monitor-only and warns me over gotify about the availability of updates but does not modify anything, the second 'watchtower-once' uses command: --run-once and it is usually inactive since it performs all updates once and than exits. When i am ready to update everything I just docker-compose start watchtower-once container to start the updates.

[–] Cobthecobbler@alien.top 1 points 11 months ago

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

[–] roycorderov@alien.top 1 points 11 months ago

I got my proxmox in production and I've installed before whatschtower and just broke me down 4 containers with bad updates so I stoped from using whatschtower...

I would like any services that just notify me about any new docker image update whitout making any updating

[–] senectus@alien.top 1 points 11 months ago

Yeah I used it, it broke paperless for me. I uninstalled it.

[–] thekrautboy@alien.top 1 points 11 months ago

As example, some software pushes out updates that can (and sometimes will) break your setup.

Of course nobody pushes out something like that on purpose to mess with users. But mistakes happen all the time. And even if the dont, some version upgrades require the user to take manual steps, when these are ignored and with something like Watchtower just blindly upgraded, setups can and very likely will break.

Imo its not worth the very short amount of time saved by automatic-updates versus the amount of time it costs to fix such a mess when it occurs.

For example, NPM (Nginx Proxy Manager) had a update months ago that broke many users setups. They of course did warn about this in the changenotes, but i remember people here on sub saying "well damn i used watchtower and it updated npm overnight and i wake up and nothing works anymore, took me hours to figure out the reason and fix it".

https://github.com/NginxProxyManager/nginx-proxy-manager/releases/tag/v2.10.0

[–] zoredache@alien.top 1 points 11 months ago (1 children)

There are risk, that a newer version of an image will accidentally, break things, apply breaking changes and so on.

Good, frequent, tested backups, could be a mitigation to this. If an image breaks, you just restore your data from the backup, and pull the older image.

I use the klausmeyer/docker-registry-browser, and that recently broke, but it just needed me to provide an additional configuration variable.

I use advplyr/audiobookshelf, which upgraded to a different database engine and schema a couple months ago. For some small subset of people (including me) the migration to the new database didn't go well. But I had a backup from 6 hours before the update, so restoring and then using the older image until the fixes were released was easy.

Even with the occasional issues I prefer letting watchtower automatically update most of my images for my home. I don't really want to spend my time manually applying updates when 98% of the time it will be fine. But again, having a reliable and tested backup system is an essential part of why I am comfortable doing this.

[–] ChickenMcRibs@alien.top 1 points 11 months ago (1 children)

What system are you using to backup your containers?

[–] zoredache@alien.top 1 points 11 months ago

My primary 'backup', or easy recovery method is that I use ZFS, and take snapshots via sanoid frequently. I have a mydumper jump making backups of my mariadb server. I use syncoid to doing sends to external storage. So most things can just be fixed by copying the files from an older snapshot.

I also have a completely separate backups of my system made using borg to storage I have at borgbase.com, but this only happens a couple times a week, and is only my 'important' data and not large things like downloaded video/music/etc. I am thinking about switching borg out for restic though, since restic is also compatible with borgbase.

[–] SillyLilBear@alien.top 1 points 11 months ago

The latest version isn't always the best version. In a home lab or home network, this is rarely a big problem, but in a production environment, I wouldn't recommend it.

[–] azukaar@alien.top 1 points 11 months ago

Using an outdated version of a container (including DBs!) that have known vulnerabilities that will be very easy to exploits including by bots, is so much worse than the risk of a container breaking after an update. Just monitor your server properly and you'll be good

[–] ProbablePenguin@alien.top 1 points 11 months ago

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!

[–] Tangbuster@alien.top 1 points 11 months ago

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.

[–] CactusBoyScout@alien.top 1 points 11 months ago

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?

[–] gohankr@alien.top 1 points 11 months ago (1 children)

If you want highly available system, then you should perform updates with a custom made script, where you can control update issues. Otherwise watchtower is good.

[–] MRobi83@alien.top 1 points 11 months ago

Curious how a custom script to perform the update would be different than watchtower doing it? Is an automated update not an automated update regardless of what triggers it?