this post was submitted on 05 Feb 2025
100 points (96.3% liked)

Selfhosted

46672 readers
437 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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

A year ago I built a NAS to reduce my reliance on cloud services, and set up an arr stack. I went with TrueNAS Scale, which was on Bluefin at the time. In the past 12 months, TrueNAS Scale has been through FOUR major OS versions, with a fifth already announced. At least one of those involved a release train switch so, despite diligently checking for updates in the dashboard, I was left in the dust with an obsolete OS, and didn’t find out until it was already a huge hassle to upgrade.

I’ve been really happy with the utility and benefit of having this tool, but holy smokes how is anybody supposed to keep up with all of this? This is far from my only hobby, and I simply do not have the time, patience, or interest for a constant race to keep up with vetting new release versions and fixing what breaks every 3 weeks. I have enough tinkering hobbies as it is.

On top of that, there’s the whole blow up with TrueCharts, which has also left me with an entire suite of obsolete albatrosses around my NAS that I need to deal with. Am I still waiting for them to figure out an upgrade path? I don’t even know anymore.

Sorry for the rant, but I guess what I’m looking for is: how do you keep up with the constant maintenance and updates, and where do I go from here, in February 2025, with a system running Bluefin 22.12, a 32TB ZFS pool (RAIDZ1) that has to remain intact, and a handful of TrueCharts apps that I don’t want to lose the data from (e.g. Jellyfin configs/watch history)?

top 50 comments
sorted by: hot top controversial new old
[–] Darkassassin07@lemmy.ca 41 points 3 months ago* (last edited 3 months ago)

OS updates I only bother with every 6-12mo, though I also use debian which doesn't push major updates all that regularly.

As far as software goes; pretty much everything is in a docker container with watchtower automatically pulling new updates to those nightly at 4am. It sends me email notifications, so It'll tell me if an update fails; combined with uptime-kuma notifying me if any of my services is unavailable for whatever reason.

The rest I'll usually do with the OS updates. Just because an update was released, doesn't mean you've gotta drop everything and install it right this moment.

[–] hperrin@lemmy.ca 35 points 3 months ago (2 children)

You might want to think about running a “stable” or “LTS” OS and spin up things in Docker instead. That way you only have to do OS level updates very rarely.

[–] HeyJoe@lemmy.world 5 points 3 months ago

I learned this the hard way as well... I did a big OS update on mine once and it broke almost every application running on it. Docker worked perfectly still. I transferred everything I could to Docker after that.

[–] Zink@programming.dev 2 points 2 months ago

Thanks for this. I've recently been recreating my home server on good hardware and have been thinking it's time to jump into selfhosting more stuff. I've used Docker a bit, so I guess I'll have to do it the right way. It's always good to know what choices now will avoid future issues.

[–] 11111one11111@lemmy.world 18 points 3 months ago

In life? Amphetamines.

[–] drkt@scribe.disroot.org 15 points 3 months ago (1 children)

For one I don't use software that updates constantly. If I had to log in to a container more than once a year to fix something, I'd figure out something else. My NAS is just harddrives on a Debian machine.

Everything I use runs either Debian or is some form of BSD

Same, but openSUSE. Tumbleweed on my desktop and laptop, Leap on my servers.

And yeah, if I need to babysit something, I'll use an alternative. I'll upgrade when I'm ready to, which is usually over holidays when I'm bored and looking for a project.

[–] PieMePlenty@lemmy.world 13 points 2 months ago

I use debian, so what's to keep up with? Apt upgrade is literally everything I need. My home server doesn't take a lot of my time except when I want to tweak something or introduce something new. I dont really follow all the trendy stuff at all and just have it do what I need.

[–] mhzawadi@lemmy.horwood.cloud 10 points 3 months ago

First off, backups of the configs any user data that you can't torrent should the inevitable happen.

Then set time aside to do updates, I spend Wednesday evenings updating and improving my setup.

Then find a way to track update announcements, I use both an RSS reader and newrealeases.io to know when something I run gets an update

[–] 31337@sh.itjust.works 9 points 3 months ago (1 children)

If it works, I don't update unless I'm bored or something. I also spread things out on multiple machines, so there's less chance of stuff happening like you describe with the charts feature going away. My NAS is pretty much just a NAS now.

You can probably backup your configs/data, upgrade, then deploy jellyfin again, restore, and reconfigure. You should probably backup your data on your ZFS pool. But, I recently updated to the latest TrueNas Scale from ~5 year old FreeBSD version of TrueNas and the pools still worked fine (none of the "apps" or jails worked, obviously). The upgrade process even ported my service configurations over. I didn't care about much of the data in the pools, so only backed up the most important stuff.

[–] Onomatopoeia@lemmy.cafe 3 points 3 months ago

I don't update unless I'm bored

Hahahaha, one of my kind!

My upgrades usually occur because I'm setting up a new system anyway, that way my effort is building for tomorrow in addition to the upgrades, and I get testing time to ensure changeover is pretty smooth.

[–] MXX53@programming.dev 8 points 3 months ago* (last edited 2 months ago) (1 children)

I run a Fedora server.

All of my apps are in docker containers set to restart unless stopped by me.

Then I run a cron job that is scheduled at like 3 or 4am that runs docker pull on all containers and restarts them. Then it runs all system updates and restarts the server.

Every week or so I just spot check to make sure it is still working. This has been my process for like 6 months without issue.

[–] alibloke@feddit.uk 5 points 2 months ago (3 children)

Try watchtower instead of cron jobs

[–] MXX53@programming.dev 2 points 2 months ago

I'll check it out! Thanks!

load more comments (2 replies)
[–] mesamunefire@lemmy.world 8 points 3 months ago

I dont :) Mostly.

Honestly I have an auto backup system. And then set it up to auto update periodically. Then use Debian Server as it almost never breaks as a server distro.

[–] vividspecter@lemm.ee 7 points 3 months ago (2 children)

I use NixOS so if an update breaks, I just roll back. And since it's effectively a rolling release distribution there isn't any risk of being left behind on an outdated version.

[–] Object@sh.itjust.works 3 points 3 months ago* (last edited 3 months ago)

Same here. I spent last month transitioning all my servers to NixOS and it feels so comfy! I do a small test on my desktop when I do something that might break stuff first, and then add it to server's config later.

--target-host and --use-remote-sudo makes it even better too.

[–] sunstoned@lemmus.org 2 points 2 months ago* (last edited 2 months ago)

That's not even to mention declarative, rootless, podman containers via systemd or quadlet (the containers, too, can be NixOS)!

NixOS Containers can also be a good option if you don't care about rootless.

[–] kylian0087@lemmy.dbzer0.com 7 points 3 months ago (3 children)

You can choose a slower train for scale. Go for the stable release or even the enterprise release. Update once in a few months or so.

I went with Talos OS for my apps after the mess from IX-systems and for the most part it has been set and forget.

load more comments (3 replies)
[–] ShortN0te@lemmy.ml 6 points 3 months ago

Just subscribe to the release channel. That varies from OS to OS or Software, but is worth it.

Use tools that are universal. For example, I have not used TrueNAS Scale because they did not support native docker at the time. OS specific solutions are more likely to break then universal once (truecharts vs docker)

To get up and running again after a complete failure i can just download the latest config and data from my backup and set up any distro that supports docker and my system is running again.

I do OS upgrades when they are available, usually within 1 or 2 days and containers are updated with watchtower daily.

[–] ragebutt@lemmy.dbzer0.com 5 points 3 months ago

Is it exposed to the internet?

Mine is local only so I’m not as diligent with updates. I push them like once every 2-3 weeks. Some containers automatically update but some don’t because in the past that has broken associated scripts

[–] Xanza@lemm.ee 5 points 3 months ago

Debian, baby.

[–] Azzu@lemm.ee 4 points 3 months ago* (last edited 3 months ago)

I've got backups. Haven't updated or looked at my server in months. If I'm ever compromised by missing security updates, I just load a backup and regenerate all keys.

I don't put any critical data on public facing servers.

[–] MangoPenguin@lemmy.blahaj.zone 4 points 2 months ago (1 children)

I run proxmox on the host with docker in a VM for 90% of my stuff, OS updates I do like every 6 months maybe, I've done 1 major version upgrade on proxmox with no issues at all.

The docker containers auto-update via Komodo, and nothing really ever breaks anymore other than the occasional container error that needs a simple fix.

Everything important is backed up nightly using both proxmox backup server, and to backblaze B2 with restic.

[–] Pika@sh.itjust.works 1 points 2 months ago* (last edited 2 months ago) (1 children)

I've never heard of komodo, I've heard a lot about Watchtower but I found it more annoying to set up due to its labeling systems. Is there any added benefit for Komodo over using a standard watch tower setup?

I haven't set up either of them, but my main concern is having a breaking change be automatically updated

[–] MangoPenguin@lemmy.blahaj.zone 2 points 2 months ago* (last edited 2 months ago) (1 children)

Komodo is a full management setup, similar to Portainer, Dockge, etc.. It works reasonably well.

Watchtower doesn't require any labeling unless you want to exclude a container.

but my main concern is having a breaking change be automatically updated

Pinning to a major version usually solves this, ie; instead of using postgres:latest use postgres:14 which will give you updates only from version 14.

But also have backups in place, worst case you just roll back to before it updated.

[–] Pika@sh.itjust.works 1 points 2 months ago (1 children)

Oh ok, thank you, I already use Portainer for my existing setup so it wouldn't make much sense to fully rework it. I haden't thought of version pinning though so I may implement that instead, it makes sense "breaking changes" wouldn't happen within the same major version.

[–] MangoPenguin@lemmy.blahaj.zone 2 points 2 months ago (1 children)

Yeah pinning is great, you'll still need watchtower for auto updates too

[–] Pika@sh.itjust.works 1 points 2 months ago

Yea for sure, I plan to implement that as well when I have some free time.

[–] sugar_in_your_tea@sh.itjust.works 4 points 3 months ago* (last edited 3 months ago)

Constant maintenance? What's that?

Here's my setup:

  • OS - openSUSE Leap - I upgrade when I remember
  • software - Docker images in a docker compose file; upgrading is a simple docker command, and I'll only do it if I need something in the update
  • hardware - old desktop; I'll upgrade when I have extra hardware

I honestly don't think about it. I run updates when I get to it (every month or so), and I'll do an OS upgrade a little while after a new release is available (every couple years?). Software gets updated periodically if I'm bored and avoiding more important things. And I upgrade one thing at a time, so I don't end up with everything breaking at once. BTRFS snapshots means I can always roll back if I break something.

I don't even know what TrueCharts is. Maybe that's your issue?

[–] avidamoeba@lemmy.ca 4 points 3 months ago* (last edited 3 months ago)

Use Debian LTS or Ubuntu LTS (10 years support with free Ubuntu Pro). Turn on automatic unattended updates. Upgrade OS when you're bored one of those years.

Keywords:

  • Debian
  • Ubuntu
  • LTS
  • ZFS
  • Docker (compose)
[–] catloaf@lemm.ee 3 points 3 months ago

I have automatic updates on everything. If it breaks, I fix it when I have time. If I don't, it remains broken.

I could also just not do updates, but I like new features.

[–] Codilingus@sh.itjust.works 3 points 3 months ago

Unraid + Unifi network equipment. Everything is scheduled and automatic, with the exception of large Unraid updates, but those are only every ~6 months. Every night mover from cache SSD - > HDD array, then checks for plugin updates, then docker container updates, if Monday morning SSD trim, and if 1st of the month does an array parity check/repair.

After all that if it's Monday morning, Unifi will check for firmware then software updates.

Sometimes a docker container will get a breaking update maybe once a year, and then I just go look @ documentation and see what needs to be changed to the config to fix.

[–] InnerScientist@lemmy.world 3 points 3 months ago* (last edited 3 months ago) (1 children)

I have rss feeds for my main service updates so I know what new features I have, the services mostly run in podman containers and update automatically each Monday. I also have daily backups (timed to run just before the update on monday) in case anything does break.

If it breaks I fix it depending on how much I want/need it, mostly it's a matter of half an hour to fix it and with my current NixOS/Podman system I haven't yet needed to fix anything this year so it breaks infrequently.

Also why are you using Kubernetes on a single host if you want minimal maintenance? XD

My recommendation is to switch to just managing containers, you should just be able to export the volumes out of kubernetes and import them as normal volumes, as long as they're mounted in the right place you keep your data and if it doesn't work just try again. Not like you need to destroy the current system to slowly replace it.

Edit: I also recommend to update and reboot frequently, this stops updates and unstable configurations from piling up.

load more comments (1 replies)
[–] gonzo-rand19@moist.catsweat.com 3 points 3 months ago

I have everything containerized (Podman) on my Debian PC and use Diun to check for updates and send notifications to a Discord server that I monitor. I do all of my updates manually so I don't update unless I have time to troubleshoot; if it breaks I still have the configs and data so I can delete the container and start over.

I also do monthly backups to cold storage (yeah, they should be weekly/biweekly but it's just personal data that I'm okay with losing). I don't use a RAID config or BTFS/ZFS like some do, so it's pretty easy to just set it and forget it. It really depends on what you're trying to do, how bulletproof it needs to be, and how you like to organize things.

[–] irish_link@lemmy.world 2 points 3 months ago

Similar to the others although I have messed with Ubuntu, CentOS, Fedora, and even a few others for like a day or two each.

At the moment I am using Fedora. My drives are raided and my main storage has all the data and the docker config directory’s.

Using docker for everything, watchtower for updates, and pertained to manage the containers with a gui. All the containers are directed to /mnt/drive/allMyData. In there is my data folders. Shows, movies, plex configs for recording over the air, ebooks, documents, etc.

Mainly I set it up this way so I can easily change distros if I wanted to and have all my services back up in an hour or so.

I started a text file that contains the command lines I have used to start all of my docker containers. This way if I need to I reference it and use the exact same commands mapped volumes to the same folders. Now I am back up and running in a few clicks. No need to backup the container if all the data in it is setup in folders in my main data directory.

However I am running a separate hardware raid setup prior to os. This way all my data stays safe as a separate volume.

[–] kalleboo@lemmy.world 2 points 2 months ago* (last edited 2 months ago)

This is why I'm still using a Synology ¯\(ツ)

I can install all the fun stuff I want in Docker, but for the core OS services, it's outsourced to Synology to maintain for me

[–] TedZanzibar@feddit.uk 2 points 3 months ago

Yeah, everything that's already been said, except that I specifically chose an off-the-shelf Synology NAS with Docker support to run my core setup for this exact reason. It needs a reboot maybe once or twice a year for critical updates but is otherwise rock solid.

I have since added a small N100 box for things that need a little extra grunt (Plex mainly) but I run Ubuntu Server LTS with Docker on that and do maintenance on it about as often as I reboot the NAS.

[–] gwheel@lemm.ee 2 points 2 months ago

I switched away from truecharts once scale switched to native docker and my experience has been much smoother since. TC had some kind of breaking change every other month, now I only have to worry about breaking changes when the actual apps have a major update.

The transition was way easier than i expected. First I set up nginx pointing to the TC load balancer for every url, so I could swap apps one at a time. Then I used heavyscript to mount the volumes for an app and rsynced them to a normal dir. With that I could spin up the community apps version or a custom docker config and swap over nginx once I confirmed it was working.

[–] Shimitar@downonthestreet.eu 2 points 3 months ago

Gentoo.

Daily automatic updates of the OS.

Services and containers are updated at random when i have time.

Its been many years, I have fun doing it.

Not a chore.

[–] KeepFlying@lemmy.world 2 points 3 months ago

I run Debian on most of my systems and run all of my services in docker (with rare exceptions for node_exporter or stable core tools). My base systems get automatic security upgrades, and then I'll manually check in every few weeks whenever I feel like it.

My services in docker are version locked to a specific major version (when there's a tag available) so I can usually re-pull to get minor version updates freely without breaking issues. My few more finnickey services get manual upgrades from me every 6 months or so only.

I usually stick to an OS version for as long as I can, and to that aim I stick to LTS versions with long support windows.

4 major versions in 12mo is...a lot. Especially if those include breaking changes for you. Yikes

[–] Akareth@lemmy.world 2 points 2 months ago

I use Debian stable for my main OS for the stability, security and infrequent updates, and run all of my services in Docker containers to keep everything up to date.

[–] Pika@sh.itjust.works 1 points 2 months ago* (last edited 2 months ago)

I've never used true nass, but I've never had any issue with keeping up with releases. I use a proxmox host with Debian containers mostly, and then I use ansible to do any major changes to the hosts such as replacing certificates or upgrading the packages

Being said my backup structure isn't the most professional, I have a 8 TB external drive that I keep plugged in via USB and I have proxmox backup server on the same host and it creates backups nightly

load more comments
view more: next ›