Get notified on Mastodon for new Github releases
I'm selfhosting several services, mostly based on docker containers. Many of these are managed on Github and publish releases there. What annoys me is that I regularly miss updates.
I'm also quite active on Mastodon so I thought it would be handy to have a bot automatically scanning for new github releases and posting a new toot for every new release.
The bot can be configured to scan multiple different github repositories and publish to different mastodon accounts.
I have set up accounts for:
https://mastodon.social/@navidrome_releases
https://mastodon.social/@vaultwarden_releases
https://mastodon.social/@dockerpihole_releases
https://mastodon.social/@tempo_releases
https://mastodon.social/@unifidocker_releases
You can use the notification feature of Mastodon to get a notification, whenever a new post is published. Just follow an account and hit the little bell icon on its profile page.
Here's the code, if someone is interested in that:
https://codeberg.org/ryan_harg/github-releases-bot
Is this something that you people find useful? Which other services would you like to see covered in that way?
Why not just subscribe to the release notifications or use the releases atom feed?
The bot consumes the atom feed of a repository, but I don't use a feed reader. you could also just let Github notify you for new releases. But I don't pay much attention to github notifications either. I'm a lot more likely to notice something like that if it's integrated into my social media consumption.
That makes sense. Pretty cool, nice work!
I do it that way. Enable email notifications for new tagged releases, something arrives, check changelog, everything fine?
And we are done
You don’t need to run docker-compose down.
docker-compose pull; docker-compose up -d is enough
I guess that's fair for single service composes but I don't really trust composes with multiple services to gracefully handle only recreating one of the containers
If only one container has been updated then when you run docker compose up -d it will only recreate that container, unless it is a dependency of another container (like a database) in which case it will restart all containers that depend on it as well.
You can
docker compose up -d
to (re)create only one service from your DockerfileFYI,
docker-compose
is the legacy version that was deprecated a few years ago and no longer receives updates.docker compose
(with a space instead of a hyphen) is what you should be using these days.Exactly, I don't get the "Mastodon as a poor man's RSS agregator" trend
I wasn't trying to throw shade here. I was just genuinely curious about OPs motivations for doing this. It's totally reasonable that they could have a use case where this solution makes the most sense.
Off the top of my head, boosting, voting, and discussion.
Yeah, good point!
You could get notified with a PR to update a version with renovate.
(Assuming you have your selfhosting configurations checked into source control, which I realize as I'm typing this that it might not be the norm...)
that's a good idea. i have some of my configurations under version control, but mostly on codeberg. not sure how renovate integrates there...
Is there any way to get those notifictions over selfhosted gotify?
You can get the rss of new releases with rss, and use rss plugin for Gotify
https://github.com/solarkennedy/gotify-rss
https://piraces.dev/short-bits/github-releases-feed-atom/
Thank you a lot, Ill try it out
May I ask for some help please. I dont know how to use this command:
Where should I type that? How can I build that plugin?
Use the gotify version according to the one installed on your system.
EX:
make GOTIFY_VERSION="v2.4.0" FILE_SUFFIX="for-gotify-v2.4.0" build
for the latest release
the on
build/
you should have some.so
files, copy the one for your machine arch to gotify plugins dirdata/plugins
where a build for gotify v2.4.0 https://nowtransfer.de/3460c8e86670
copy only the one needed
Copying your file to data/plugins worked! Now just have to wait for next feed to test it out. Thank you again <3
Still don't know how to use command tho :D Sorry, I'm noob. Was trying to enter that command in terminal, but I get:
Assuming you are on a Debian/Ubuntu based distro, make sure you have the following packages installed
build-essential
golang
However Gotify recomends using docker to build plugins
https://gotify.net/docs/plugin-deploy#with-docker-recommended
Thank you! I use Debian 11, installed make, build-essential and golang, and still receiving the same message (feels like I should learn how to use these packages first).
Using your file was working, but unfortunately gotify container just stops after some time. I was reading the docs and I must admit I don't understand a tiny bit :D. Spinning gotify server in docker container was super easy tho. I'd like to get this working, but feels bad for taking your time mate, and I even stole the thread (Sorry OP) lol.