Keeping .yaml files up to date...
from neonrain@piefed.social to selfhosted@lemmy.world on 28 Nov 09:03
https://piefed.social/c/selfhosted/p/1519723/keeping-yaml-files-up-to-date

For those of you that use docker, how do you make sure your docker-compose.yml (and possibly .env) files stay current with the project’s ongoing updates? I’m sure there’s an easier way than what I’m doing which is manually getting the latest ones and checking the diffs in vscodium. And I’m sure some git magic already takes care of this but I’ve been slow in learning git beyond the VERY basics. Thanks!

#docker #homelab #selfhosted

threaded - newest

frongt@lemmy.zip on 28 Nov 09:07 next collapse

I have automatic updates through a watchtower fork, so I just leave it alone until it breaks, then I go to the project site to see what changed. This has happened maybe twice in the last couple years.

neonrain@piefed.social on 28 Nov 10:00 next collapse

I use a watchtower fork as well to keep some containers updated but I’m curious how others keep on top of docker-compose.yml files that the project updates over time. As an example, I’ve been using a container for years and noticed today that on the github page they’ve added a section in the compose file for a health check. I never would’ve known that was added if I didn’t stumble upon it due to another issue.

Appoxo@lemmy.dbzer0.com on 29 Nov 05:26 collapse

Hope you have backups.
Broke my neck a few times (I currently am waiting out the jellyfin patches and stay on 10.10.7 (i think))

shiftymccool@piefed.ca on 30 Nov 03:50 collapse

Easy, reliable backups are key. I’ve used komodo with automatic updates for over a year and watchtower before that for a couple more. I’ve only had one issue when Nginx Proxy Manager had a release that deleted all of its own data. Didn’t take long to realize that the services were still up and what the problem was. Restored the missing data from Proxmox backups, pinned the Nginx version for a while, then turned auto update on again. I’ll stick to this until checking updates is less work than fixing the occasional problem

Appoxo@lemmy.dbzer0.com on 30 Nov 04:14 collapse

Just a few days ago, my docker host upgraded the docker engine from 28 to 29.
Woke up to 10 notifications from my uptime monitoring that they are offline.

Funny thing is: The external monitor showed they are down. The internal monitor showed no issues.

But after I went through with the long procrastinated upgrade from debian 11 to debian 13, migrating the data and doing nothing to the compose files, all services worked without any issue.
I don’t know what my old host did or did not but now it works, I guess? Not complaining but the whole routing thing is a bit beyond me

dbkblk@lemmy.world on 28 Nov 09:52 next collapse

I don’t want to use automatic updates on self hosted projects but I subscribe on github / gitlab releases in my rss reader (FreshRSS) and update when I want to!

keksbaecker@lemmy.world on 29 Nov 02:42 next collapse

Thank you for this idea. I wasn’t aware, that you can subscribe to an rss feed for releases on gitlab/github.

I think that I will follow your approach.

raldone01@lemmy.world on 29 Nov 04:16 collapse

Those damn pre-release notifications though!!! (Githubs fault for not implementing filtering)

uninvitedguest@piefed.ca on 29 Nov 12:26 next collapse

I use email rules to filter those ones out. Linux server containers are especially egregious.

BlueBockser@programming.dev on 30 Nov 12:55 collapse

If you also use FreshRSS, you can configure filters to automatically mark new articles as read (e.g. intitle:‘beta’). Since I only view unread articles, that effectively deletes them and I never have to see them!

shnizmuffin@lemmy.inbutts.lol on 28 Nov 09:58 next collapse

RTFM

neonrain@piefed.social on 28 Nov 10:02 next collapse

Oh you must mean THE manual. Got it.

shnizmuffin@lemmy.inbutts.lol on 28 Nov 10:15 collapse

You can also interpret it as, “Read their fucking manuals.”

Nawor3565@lemmy.blahaj.zone on 28 Nov 10:03 next collapse

I cannot recall a single self-hosted software documentation that mentions how to keep the docker config file up to date. Why bother wasting 5 seconds writing such an unhelpful comment

shnizmuffin@lemmy.inbutts.lol on 28 Nov 10:12 collapse

Tell me you don’t read the manual without saying you don’t read the manual.

I can recall a few! Mastodon. Lemmy. PiHole. Penpot. Mealie. Uptime Kuma.

They all mention required steps to upgrade between releases, including what to do to your docker installations and environment variables.

neonrain@piefed.social on 28 Nov 10:23 collapse

PLENTY of projects make tiny non-breaking changes to the compose files without any mention that users should update the file. For example, adding a section for a container health check. While these can be no big deal for a while over time they can add up to major changes in the config that users may not catch if they are not comparing yml files.

lka1988@lemmy.dbzer0.com on 28 Nov 10:27 collapse

This is the kind of attitude that drives people away from open source.

Yes, people should read the manual, but at some point they will have questions, and there are a lot of projects that aren’t clear on certain things. Such as YAML changes.

Object@sh.itjust.works on 28 Nov 09:58 next collapse

Other than keeping an eye on their changelog or waiting until it breaks, I don’t think you can do anything about that. I do have automatic update, but the config rarely changes from my experience.

neonrain@piefed.social on 28 Nov 10:01 collapse

That’s kind of what I’ve found but wasn’t sure if I was just missing something. Thanks!

mesamunefire@piefed.social on 28 Nov 10:09 next collapse

Good projects will have docs associated with the docker/docker compose files.

The way we do it is, any update to the .yaml files will have a corresponding .yaml.Dev associated with it. That way it won’t be overwritten when an update occurs as well as give a recommended setup.

eskuero@lemmy.fromshado.ws on 28 Nov 11:34 next collapse

I run changedetection and monitor the samples .yml files projects usually host directly at their git repos

neonrain@piefed.social on 28 Nov 11:37 collapse

Ah ok cool I’ll check that out. Thanks!!

Mora@pawb.social on 28 Nov 14:49 next collapse

I deploy and update my service similiar to this fantastic guide: nickcunningh.am/…/how-to-automate-version-updates…

Basically I run Komodo, which pulls a git repo. Renovate opens a PR (and most of the time the changelog is included, so I can quickly check what happened) for new versions. Once merged a webhook fires to tell Komodo to pull the new version.

I really recommend this approach now. Once setup it is very automatic, but not to the point of YOLO-automation like Watchtower and :latest 😅

neonrain@piefed.social on 28 Nov 15:02 next collapse

This seems really interesting. I’ll have to read up on it more and try to wrap my head around it but I’m definitely checking this out. Thank you!!

mal3oon@lemmy.world on 29 Nov 01:27 collapse

Genuine question, is there any benefit to docker over podman?

Mora@pawb.social on 29 Nov 03:45 collapse

Not that I am aware of. Komodo should be compatible with podman as well.

IanTwenty@piefed.social on 28 Nov 16:21 next collapse

This is new:

https://github.com/dkorecko/PatchPanda

Self-hostable Docker Compose stack update manager.

And

when you choose to update, PatchPanda edits compose/.env files and runs docker compose pull and docker compose up -d for the target stack. You can also view live log.

Discovered in the latest Self Host Weekly:

https://selfh.st/weekly/2025-11-28/

I have not tried it myself tho.

neonrain@piefed.social on 28 Nov 20:42 next collapse

Hmmm I’ve heard of it but haven’t tried it. I’ll dip my toe, thanks!

irmadlad@lemmy.world on 29 Nov 08:48 collapse

PatchPanda

I too saw PatchPanda on selfh.st and it is on my watch list. The only thing holding me back is that it isn’t out of beta yet. So, I’m waiting on other selfhosters to plow that field before I deploy. It does look like it would solve a lot of problems tho.

themachine@lemmy.world on 28 Nov 16:44 next collapse

I don’t pay any mind to example compose files. My are all quite custom anyway. Only thing that matters is paying attention to changelogs and watching for breaking changes.

Appoxo@lemmy.dbzer0.com on 29 Nov 05:24 collapse

Same here.
Read deployment documentation, configure compose to my standards, deploy, update where necessary to align with the update (e.g. remove an environment variable.

The editing is done on my PC, then I open WinSCP or ssh into it (depending on my mood and amount of changes) and then apply the changes

nfreak@lemmy.ml on 29 Nov 05:00 collapse

I set this up a while back (and recently moved to Forgejo, see the update note at the beginning of the article):

nickcunningh.am/…/how-to-automate-version-updates…

Probably a tad overkill honestly but it works amazingly well, and turns every potential upgrade into an approval process so nothing will update when you don’t want it to.