Welcome to Incremental Social! Learn more about this project here!
Check out lemmyverse to find more communities to join from here!

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?

synae ,
@synae@lemmy.sdf.org avatar

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 OP ,
@ryan_harg@discuss.tchncs.de avatar

that's a good idea. i have some of my configurations under version control, but mostly on codeberg. not sure how renovate integrates there...

rambos ,

Is there any way to get those notifictions over selfhosted gotify?

American_Jesus ,
@American_Jesus@lemm.ee avatar

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 ,

Thank you a lot, Ill try it out

rambos ,

May I ask for some help please. I dont know how to use this command:

$ make GOTIFY_VERSION="v2.0.5" FILE_SUFFIX="for-gotify-v2.0.5" build

Where should I type that? How can I build that plugin?

American_Jesus , (edited )
@American_Jesus@lemm.ee avatar

make GOTIFY_VERSION="v2.0.5" FILE_SUFFIX="for-gotify-v2.0.5" build

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 dir data/plugins

where a build for gotify v2.4.0 https://nowtransfer.de/3460c8e86670
copy only the one needed

rambos ,

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:

make: *** No rule to make target 'build'.  Stop.
American_Jesus ,
@American_Jesus@lemm.ee avatar

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

rambos ,

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.

gla3dr ,

Why not just subscribe to the release notifications or use the releases atom feed?

BlackEco ,
@BlackEco@lemmy.blackeco.com avatar

Exactly, I don't get the "Mastodon as a poor man's RSS agregator" trend

gla3dr ,

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.

bjmllr ,

Off the top of my head, boosting, voting, and discussion.

gla3dr ,

Yeah, good point!

ryan_harg OP , (edited )
@ryan_harg@discuss.tchncs.de avatar

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 ,

That makes sense. Pretty cool, nice work!

eskuero ,
@eskuero@lemmy.fromshado.ws avatar

I do it that way. Enable email notifications for new tagged releases, something arrives, check changelog, everything fine?

docker-compose pull; docker-compose down; docker-compose up -d

And we are done

Link ,

You don’t need to run docker-compose down.

docker-compose pull; docker-compose up -d is enough

eskuero ,
@eskuero@lemmy.fromshado.ws avatar

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 ,

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 ,
@7Sea_Sailor@lemmy.dbzer0.com avatar

You can docker compose up -d <service> to (re)create only one service from your Dockerfile

dan , (edited )
@dan@upvote.au avatar

FYI, 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.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • selfhosted@lemmy.world
  • random
  • incremental_games
  • meta
  • All magazines