72
submitted 2 years ago* (last edited 2 years ago) by ryan_harg@discuss.tchncs.de to c/selfhosted@lemmy.world

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?

all 26 comments
sorted by: hot top new old
[-] gla3dr@lemmy.ca 26 points 2 years ago

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

[-] BlackEco@lemmy.blackeco.com 11 points 2 years ago

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

[-] gla3dr@lemmy.ca 3 points 2 years ago

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 points 2 years ago* (last edited 2 years ago)

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@rentadrunk.org 2 points 2 years ago

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

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

[-] eskuero@lemmy.fromshado.ws 1 points 2 years ago

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 points 2 years ago

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 points 2 years ago

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

[-] dan@upvote.au 1 points 2 years ago* (last edited 2 years ago)

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.

[-] ryan_harg@discuss.tchncs.de 7 points 2 years ago* (last edited 2 years ago)

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 points 2 years ago

That makes sense. Pretty cool, nice work!

[-] bjmllr@lemm.ee 2 points 2 years ago

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

[-] gla3dr@lemmy.ca 1 points 2 years ago

Yeah, good point!

[-] rambos@lemm.ee 4 points 2 years ago

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

[-] American_Jesus@lemm.ee 4 points 2 years ago
[-] rambos@lemm.ee 1 points 2 years ago

Thank you a lot, Ill try it out

[-] rambos@lemm.ee 1 points 2 years ago

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@lemm.ee 1 points 2 years ago* (last edited 2 years ago)

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@lemm.ee 1 points 2 years ago

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@lemm.ee 1 points 2 years ago

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@lemm.ee 1 points 2 years ago

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 points 2 years ago

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 points 2 years ago

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

this post was submitted on 15 Feb 2024
72 points (92.9% liked)

Selfhosted

61409 readers
735 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.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS