this post was submitted on 12 Apr 2026
103 points (96.4% liked)

Selfhosted

60482 readers
520 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.

  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.

Resources:

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

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

Back in the day it was nice, apt get update && apt get upgrade and you were done.

But today every tool/service has it's own way to being installed and updated:

  • docker:latest
  • docker:v1.2.3
  • custom script
  • git checkout v1.2.3
  • same but with custom migration commands afterwards
  • custom commands change from release to release
  • expect to do update as a specific user
  • update nginx config
  • update own default config and service has dependencies on the config changes
  • expect new versions of tools
  • etc.

I selfhost around 20 services like PieFed, Mastodon, PeerTube, Paperless-ngx, Immich, open-webui, Grafana, etc. And all of them have some dependencies which need to be updated too.

And nowadays you can't really keep running on an older version especially when it's internet facing.

So anyway, what are your strategies how to keep sanity while keeping all your self hosted services up to date?

you are viewing a single comment's thread
view the rest of the comments
[–] iamthetot@piefed.ca 3 points 2 months ago* (last edited 2 months ago) (2 children)

cd appname && dockup && cd ..

Dockup being an alias for docker compose pull && docker compose up -d

Repeat for the few services I have.

[–] jeena@piefed.jeena.net 5 points 2 months ago (1 children)

So everything is dockerized and points to :latest?

What about the necessary changes to the docker compose files? What about changes necessary in nginx configs?

I guess you also read each release notes manually?

[–] iamthetot@piefed.ca 1 points 2 months ago

Not running anything that I've had to alter compose files. Also never had change nginx configs. Maybe I'm just running particularly stable stuff.

I usually read update notes yes, but I'd be lying if I said I was always thorough.

[–] probable_possum@leminal.space 2 points 2 months ago* (last edited 2 months ago) (1 children)

I don't understand. docker compose up starts the container. When does the docker compose pull happen? Or is there an update directive in the compose file?

[–] iamthetot@piefed.ca 2 points 2 months ago (1 children)

Whoops, I forgot that the alias includes a pull for the latest versions.

[–] probable_possum@leminal.space 1 points 2 months ago* (last edited 2 months ago) (1 children)

Ah. I thought there is an option in docker compose I could use.

And a docker image prune - a while the containers are running? :)

[–] iamthetot@piefed.ca 1 points 2 months ago

Yes, I usually do that after I check all the services are running okay.