I was reading a homelab discussion about NUTs (Network UPS Tools) that left me scratching my head and wondering "…why? Is complexity for complexities sake part of homelabs? Isn’t this a huge overkill for one machine? Just…use a UPS? "

Then I got to thinking more broadly about homelabbing and I started to wonder if there weren’t maybe (at least) two different schools of thought.

Using home media as example -

  • Store the original.
  • Detect the client.
  • Transcode when required.
  • Monitor the GPU.
  • Add reverse proxy et al
  • Track bandwidth.
  • Add user accounts
  • Add failover.
  • Graph the result.
  • Dashboard.

Vs

  • Store a common compatible file for your devices.
  • Play it directly.

Which school of thought are you and why?

PS: not throwing shade. I get it; for some people, complexity, learning infrastructure, practicing skills for work etc is part of the why. For me, complexity as recreation is suspiciously like work after work.

Perhaps there’s an odd Venn diagram between homelabbing, interest in ownership / useful capability and infrastructure that could make for a fun discussion. For you, is homelabbing a means to an end or is it an end in itself?

EDIT: Feel free to consider “home-lab” and “self hosted” as synonyms for the purpose of this discussion (although I am aware they are somewhat different in scope).

  • IsoKiero@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 hours ago

    But in the real world it doesn’t really matter if it’s the whole filesystem or an idividual file which is corrupted. Either way the data is compromised and nitpicking that the filesystem is actually just fine doesn’t make any difference.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 hours ago

      The big concern with filesystems becoming corrupt is that all of the data can be lost on a filesystem. Most of the time, this doesn’t show up, but if you lose power at just the wrong time, it can happen. With FAT, HFS, ext2, and similar filesystems that were vulnerable to corruption on power loss, that was a real risk.

      So having some kind of power source to make an unclean shutdown unlikely avoids the risk of a really, really bad scenario.

      The general shift away from reliance on those filesystems has mitigated the really-bad-case that drove a lot of UPS use.

      Databases are probably the most-critical case where applications update a file on disk constantly, and where corruption would be bad. As long as they live on a filesystem that itself can’t become corrupt on power loss, they’re normally structured with a carefully-ordered series of writes and use of write barriers so that they cannot become corrupt.

      An individual file can be partially written out. Like, say I’m saving a file in Photoshop, and I have only written half of that file. What winds up on the disk is the first half of of a Photoshop file. That’s an invalid Photoshop file. For some applications, that can matter. Like, say (a) I chose to overwrite an old file and (b) the application doesn’t atomically store the new file (like, write it out, fsync(), and then rename the new file over the old) and © there’s no backup or other system in place.

      Or, even aside from partially writing out a file, I can entirely lose work that isn’t saved at all, if I’m not using a software package that makes use of some sort of autosave system. If I haven’t saved all day, then, well, all of that unsaved work is going to go away if there’s a power loss.

      That’s a much smaller potential data loss, but, sure…power loss can cause data loss, even if it doesn’t produce that “everything is lost” filesystem corruption.

      I’m not asserting that there’s no utility to a UPS; quite the contrary, as my comment was explaining to OP why there is use some people have for having NUT even if he personally doesn’t care much about it for his use case. I’m just pointing out that some of the major reasons for having a UPS+host-side-software combination that existed in, say, the 1990s aren’t really much of a thing in 2026. That was that you really did not want machines using filesystems normally used then to perform an unclean shutdown. Even with a UPS and host-side software like NUT, you can have data loss, as NUT cannot force all software to save unsaved data; there’s no standardized mechanism for forcing applications to save. If the PC is attended, you might get a warning and have a chance to manually save, but that’ll be the best that’ll happen, and if the PC is unattended, well, that save isn’t going to happen. But what NUT and similar software can do is to, when the UPS battery level gets low, trigger a clean shutdown. That ensures that the OS has time to perform a clean shutdown, and on filesystems that have a risk of filesystem corruption if the power is cut—FAT, HFS, ext2, and similar—a UPS with host-side software would avoid that case from arising.

      If someone wants to have a UPS in 2026 on filesystems that don’t have those limitations, that’s fine. They may want to have, say, a five minute window to save their work if they are at the PC when power loss occurs. It may help avoid problems that arise from software that cannot cleanly handle power loss—I that Steam can, if power loss occurs while it is updating itself, wind up in a broken state from which it cannot automatically recover when restarted, as I’ve done that myself.

      But generally, if you lose power on a system in 2026, you aren’t facing a “I might lose the contents of my hard drive” scenario.

      • IsoKiero@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        There’s plenty more reasons than filesystem corruption to use clean shutdown and even just plain UPS without any status information to the host. I haven’t seen a full drive corruption due to power loss ever. Various levels of corruption, yes, but not ‘all the data is gone’ scenario due to filesystem being broken. But I have seen multiple hard drives which have died on host shutdown without any warning (no smart errors or such), after power loss they just refused to start again.

        Just today we had multiple short (~30 second) power outages and without UPS that would’ve put considerable strain on my hardware. Gladly those are pretty rare and those were well short enough that my UPS kept the system running, without one that would’ve meant that my hypervisor would’ve crashed and that would’ve resulted on several unclean reboots for the VMs.

        Also, back to filesystems, with selfhosting, some kind of hypervisor is often in the picture, so the drive activity is generally much higher than with single workstation and corruption on a single file or some part of filesystem is way more likely. Total data loss is pretty unlikely, but a corrupted VM image can be a pretty big deal, regardless if it’s filesystem or single file which is the main issue.

        there’s no standardized mechanism for forcing applications to save

        On Linux (and I guess BSD and other *nix variants) there is. SIGTERM is exactly for that situation. Sure, programs can choose to ignore it, but I don’t think I’ve ever seen at least any FOSS software which wouldn’t respect that. Of course the program might crash and cause loss of data, but the mechanism is there.

        You’re of course generally correct about modern filesystems being more resilient to power loss, but they’re not immune to problems and also you’ve omitted a large chunk of other reasons why people like to have UPS on their system, with or without monitoring them.

        For me personally the hardware is least interesting part of running a homelab. I’d happily run everything on VPS if there was no constraints on money or bandwidth (among other things). But as the limitations are there running things on my hardware is a necessary evil and for that an UPS or two are practically must to have to prolong life span of hardware and prevent data losses. Of course that’s just one box to check on the stack, but when planning for a home server setup for anything I’d say it’s a pretty vital part for the whole setup.