I set up a new home server recently using containerized services, and I wanted to share what I learned. Nothing here is revolutionary, but this is the type of resource I wish I had when I started.
I’m open to feedback on what I could have done better!
I don’t do a great job of this, but take Immich for example. There, I specify the version in the compose.yml (technically, the version is in the .env file and substituted into the compose.yml). At that point, updating Immich is a matter of updating the version number and restarting the service.
These configuration files are all managed with git, so when I do these updates, I create a new commit. I just checked, and I have Forgejo pinned to a specific version in its compose.yml as well. But unfortunately, the other services are referencing
:latest
. I’m going to go back and pin them all :)I built a small tool that does that for me now and published it: https://feddit.de/post/2909288 maybe you’ll find it useful, no guarantee that it doesn’t break something though :D