TL;DR: is there an app that can alert me when a new version of some other app is available?
I have about 12 - 15 services (freshrss, heimdall, photoprism, Wordpress, etc) running using docker compose spread across 4 hosts. Through my self-hosting journey I’ve been burned a few times using “latest” images so I now pin app image versions within compose.
The problem then becomes that every couple of weeks, I have to go out to different GitHub’s, docker hub, etc. to see if a new update for that service is available. It gets a bit tedious with 12-15 services every couple of weeks so I need a centralized and more efficient way of “keeping up”.
Is there some type of app that can track whether an app/service has a new version available? Ideally it can send me some type of notification, self-hostable, and ideally not Portainer?
GitHub has the option of emailing you on releases etc. by email.
You can also hook it to RSS https://stackoverflow.com/questions/7353538/setting-up-a-github-commit-rss-feed
Yeah, depending on the branch I’ve found that method not to be too reliable. openrss offers branches for RSS feeds for commits on every branch though: e.g. https://openrss.org/github.com/octokit/octokit.rb/commits/main
Simple solution. I like it! Although I think it will get lost in the sea of daily emails….
I just subscribe with RSS to the releases page on github of each project
Thanks!
If im doing this right, the url is just the releases page for the repo with a .atom at the end. So for Vaultwarden it is https://github.com/dani-garcia/vaultwarden/releases.atom
This sounds like the simplest and most effective solution. Thanks!
Maybe take a look at Diun or Watchtower
I use Diun and ntfy to get push notifications about new docker image versions on my smartphone. Other options include notifications for Discord, mail, MQTT, Slack, Webhook and more.
Was not aware of Diun, will check out!
Taking a brief look at that blog post, the author doesn’t know that wt can be set to only notify… Or that wt can be set to act at specific date or time… It’s like they never looked at the wt env variables at all, just yolo defaults and then complain that it doesn’t do what they want out of the box (‘because my settings are the best and they should clearly be the default for everyone!’). For someone who spent much time exploring other options and complaining, they didn’t take ~10 minutes to learn that the initial issue was indeed themselves.
(I use wt and set up many options to avoid these issues, successfully)
While of course Watchtower can be configured to not update and only notify there is also a nice, lightweight alternative out there that is built only for image update notifications: Diun.
I think he looked at it.
Why did they spend 8 paragraphs of ‘this is terrible’ and then be like ‘but you can change that, though I decided not to’. I dunno, the whole post is stupid, imo. It’s complaining about something that has already been resolved, then suggesting a different solution.
shrug
RSS feeds
Love that username tho!! Yeah might just do RSS. I already run FreshRSS and it’s ability to filter stuff would probably come in handy too
RSS notifications from their respective release pages is how I’m doing it.
I used this for a while, aside from rss feeds: newreleases.io
Plus 1 for newreleases.io, I use it for both GitHub repos and docker hub things.
You can get alerts to a boat load of things on a daily week or monthly basis
Interesting… do you like this way more or the rss route more?
I don’t know how well this is supported by sundry source repos but off the cuff I’d say you’re looking for an RSS feed of their individual releases?
Edit: Github seems to have release feeds for projects: https://piraces.dev/short-bits/github-releases-feed-atom/
After you mentioned it, I looked it up too and stumbled on a similar answer to that link. Thanks!
Argus https://release-argus.io
This looks interesting too
I just have Watchtower stopped and configured in “one-shot” mode sitting on all my Docker hosts. And when I’m in the mood of updating and fighting with possible issues, I just run it. Works much better for me than some update notification popping up in the worst possible moment, me dismissing it and then forgetting about it. 🤣
I use renovate myself. Via a cron job against a dwlf hosted gitea instance.
https://github.com/renovatebot/renovate
Works for many dependency types including docker images. You can also have it pin non version tags (using digests).
I like this
If you have your compose files in git, you might be able to use renovate to send you pull requests with image updates. I’ve done something similar with kubernetes but I think it supports docker compose too. You might need some kind of automation on your hosts to keep things in sync.
Check out WhatsupDocker. I use the same to inform me of updates. It is self-hostable as well. I then use the WUD widget for homepage to let me know that there’s an update available on my dashboard
I use diun and rss feeds. So far I’ve had different levels of success with different services.
For example for Immich the RSS is a lot more useful because it lets you know when you need to run manual steps.
I selfhost an instance of ntfy and changedetecttion.
Ntfy is for simple push notifications from absolutely anything, even just curl.
Changedetection is for detecting changes on websites, prices, is something in stock, … It supports ntfy for push notifications so I just add the releases page from github to changedetection and then I get a push notification on my phone when anything gets an update.
Watchtower will automatically update docker containers.
That will just pull the latest image though right? I.e., if you explicitly have a container on a tag for v1.2.3, it wouldn’t upgrade you when v1.2.4 is released right?
Yes, but I believe it can be configured for notifications as well, I just never needed that.
No, I mean doesn’t it only look for updates of the current tag? That works fine if you set every container to the “latest” tag, but if you set your containers to specific version tags then you won’t get a notification unless that specific tag gets updated.