posted in Selfhosted

Why homelab?

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

Replying to @⁨SuspiciousCarrot78@aussie.zone⁩

I’m not sure if there’s a fundamental misunderstanding but I felt a need to clarify that NUT works with a UPS. It isn’t either or. Whether you’ve got a homelab or a single desktop PC, you need some piece of software which can see when the UPS goes “Oh shit, power is gone” and instruct the machine(s) to shut down cleanly. NUT is that software. If it wasn’t NUT then it’d be whatever software the UPS manufacturer either provides or recommends for your combination of UPS and OS.

To the example of how one provides media to other devices inside (and possibly outside) the local network, although I get the broader idea, it really becomes a matter of scope, scale and taste. If my goal were to provide access to family members outside my home, friends, possibly friends of friends (either by intent or as a result of account sharing) then I’ll probably want monitoring. I’ll want a dead simple app any of them can install and point to a memorable URL. I’ll want alerts if someone in Romania or Shanghai attempts to log in with a friend’s account… You get the gist. If it’s not something that matters outside my house and I’m not going to repeatedly need to setup VPNs and map network drives for people, I could just spin up a Samba share and add it to the handful of devices in my home network and let those devices decide what application opens whatever media.

In actuality I’m extremely small scale (serving only my home) and still prefer Jellyfin for its simplicity and transcoding. It’s simple enough to slap on cheap Android TV boxes and hand someone the remote. No real reason to watch it like a hawk. Nor to track bandwidth; I’ve got an excess for the house. The GPU is capable enough; an Arc A380 that’ll never have enough simultaneous transcodes to be a bottleneck.

To answer the “why?,” I am one of those people that enjoys learning things that often feel like (or factually are) work. Maybe it’s self flagellation and I just refuse to admit it. I am a Factorio addict. But it’s also because tackling those things usually means the other users have an easier time. Mamma don’t wanna learn to drive the network to her laptop or search the app store for a file thingamajig what can connect to that tango or salsa or whatever just to scroll through a bunch of video file icons with the text so small she has to break out the Walgreens readers. She wants a shiny interface that’s swipe-able on a phone or tablet or navigable with a remote control. Pretty movie posters and bold legible titles. And I haven’t touched my config in months for that matter. Just a little bit of work has propped up a really enjoyable, ongoing show/movie watching experience. Definitely worth.

Replying to @⁨__hetz@sh.itjust.works⁩

I’m not sure if there’s a fundamental misunderstanding but I felt a need to clarify that NUT works with a UPS. It isn’t either or. Whether you’ve got a homelab or a single desktop PC, you need some piece of software which can see when the UPS goes “Oh shit, power is gone” and instruct the machine(s) to shut down cleanly. NUT is that software.

Could be. In context, the respondent was discussing the use of a raspberry pi - between their UPS and their single Lenovo minipc - as a stand-alone home device. Why? Don’t know.

To my understanding, the sequence is (or should be)

Mains fails -> UPS supplies battery power -> UPS reports its battery state over USB -> software on the PC shuts the OS down.

Using a Pi as a dedicated NUT server makes sense when several machines need the same UPS…for one PC, it seems like an extra machine in the chain (for the sake of an extra machine in the chain).

That’s sort of what I meant: things get overbuilt. Maybe for fun.

Replying to @⁨SuspiciousCarrot78@aussie.zone⁩

I was actually working on an edit to further clarify but that context helps. You’d think for a single machine, just run NUT (or whatever) directly on said machine. The two big reasons, even in that case, for using NUT on a RPi or other low power machine are actually what my edit was going to address: Power Consumption and Wake on LAN. After shutting down any power hog server(s) a decent UPS can probably keep a Pi Zero and travel router running for half a day. Ideally long enough to send a WoL packet to the server(s) once the UPS says power is restored. That can be pretty important, even in a “single” (ignoring the Pi) machine setup, if you’re out of town and nobody else has access to manually power it back up.

I will admit NUT was one of the more convoluted things I ever set up, and one has to write their own scripts and such for it, but I find it worth the peace of mind knowing things shut down cleanly. Having them wake back up automatically is icing on the cake, even if my own setup is local only. There’s never a need, if I’m not home, to walk anyone over the phone through identifying which nondescript black rectangle needs its power button pushed.

Replying to @⁨__hetz@sh.itjust.works⁩

I can dig it…but surely the simple option is to have the PC wake up on power restoration, right?

Set the BIOS to “restore last state after AC loss” and let the UPS do its basic job. If power returns before the battery dies, the PC never shuts down. If the battery does die, the PC loses AC while running, then powers back up when AC returns.

Does that not achieve the same outcome?

I get the idea of Pi + NUT + WoL setup (especially if you want a clean shutdown). It just seems…a lot for a single machine.

(He said, conspicuously hiding the shopping cart of solar panels and marine batteries)

Replying to @⁨SuspiciousCarrot78@aussie.zone⁩

I can dig it…but surely the simple option is to have the PC wake up on power restoration, right?

After the PC shuts down, the UPS runtime will increase by a lot. So the power might come back before the UPS turns off, so as far as the PC can see, the power was never lost.

Edit: Also I assumed you meant restore on after AC loss, and not the last state.

Edited ⁨⁨Aug⁩ ⁨28⁩, ⁨2026⁩, ⁨11:00⁩⁩en