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).


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.
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.