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?
23 Comments
gla3dr@lemmy.ca · 26 pts · 2y
Why not just subscribe to the release notifications or use the releases atom feed?
BlackEco@lemmy.blackeco.com · 11 pts · 2y
Exactly, I don't get the "Mastodon as a poor man's RSS agregator" trend
gla3dr@lemmy.ca · 3 pts · 2y
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.
eskuero@lemmy.fromshado.ws · 8 pts · 2y
I do it that way. Enable email notifications for new tagged releases, something arrives, check changelog, everything fine?
And we are done
Link@rentadrunk.org · 2 pts · 2y
You don’t need to run docker-compose down.
docker-compose pull; docker-compose up -d is enough
eskuero@lemmy.fromshado.ws · 1 pts · 2y
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
Link@rentadrunk.org · 2 pts · 2y
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.
7Sea_Sailor@lemmy.dbzer0.com · 0 pts · 2y
You can
docker compose up -dto (re)create only one service from your Dockerfileryan_harg@discuss.tchncs.de · 1 pts · 2y
dan@upvote.au · 1 pts · 2y
FYI,
docker-composeis 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.ryan_harg@discuss.tchncs.de · 7 pts · 2y
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.
gla3dr@lemmy.ca · 1 pts · 2y
That makes sense. Pretty cool, nice work!
ryan_harg@discuss.tchncs.de · 3 pts · 2y
bjmllr@lemm.ee · 2 pts · 2y
Off the top of my head, boosting, voting, and discussion.
gla3dr@lemmy.ca · 1 pts · 2y
Yeah, good point!
wall_inhabiter@lemdro.id · 1 pts · 2y
rambos@lemm.ee · 4 pts · 2y
Is there any way to get those notifictions over selfhosted gotify?
American_Jesus@lemm.ee · 4 pts · 2y
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/
rambos@lemm.ee · 1 pts · 2y
Thank you a lot, Ill try it out
rambos@lemm.ee · 1 pts · 2y
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?
American_Jesus@lemm.ee · 1 pts · 2y
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" buildfor the latest release
the on
build/you should have some.sofiles, copy the one for your machine arch to gotify plugins dirdata/pluginswhere a build for gotify v2.4.0 https://nowtransfer.de/3460c8e86670
copy only the one needed
rambos@lemm.ee · 1 pts · 2y
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:
American_Jesus@lemm.ee · 1 pts · 2y
Assuming you are on a Debian/Ubuntu based distro, make sure you have the following packages installed
build-essentialgolangHowever Gotify recomends using docker to build plugins
https://gotify.net/docs/plugin-deploy#with-docker-recommended
rambos@lemm.ee · 1 pts · 2y
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.
synae@lemmy.sdf.org · 1 pts · 2y
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...)
ryan_harg@discuss.tchncs.de · 1 pts · 2y
that's a good idea. i have some of my configurations under version control, but mostly on codeberg. not sure how renovate integrates there...