Hacker News new | ask | show | jobs
by toinewx 839 days ago
what would be the typical use of such a lab?

Why are so many different components needed?

11 comments

The responses are kinda a mixed bag here - there are two totally different use cases.

If you want something for practical purposes, /r/selfhosted actually has you covered. It’s usually jellyfin for movies, etc. And you use a NAS or a PC, but the idea is normally that you setup something reliable and don’t lose your data, and it does not require too much tinkering. Maybe once in a while run some docker container to test it out. what I have now.

Then there are people who get many raspberri Pi’s or NUCs and basically play ‘build a datacenter at home’ game. It’s good for tinkering and you often mess it up and start from scratch. I’ve done that, it’s kind of fun, cool experience, learned a lot about networking, installed Kubernetes, then sold the machines.

Then a third group are people who build a whole data centre at home AND run serious applications on it. These guys need to buy themselves a motorbike or something.

>Then a third group are people who build a whole data centre at home AND run serious applications on it. These guys need to buy themselves a motorbike or something.

I don't think the insult to a generalized group of people is necessary.

Some enthusiasts have overkill racks, 40Gbps fiber, enterprise-class switches and vlans, etc, etc ... because it's their enjoyable hobby. The over-the-top components and making it all work is all part of their fun.

It's not a hobby I'd personally pursue but I do understand why it can attract a passionate set of people.

It’s not meant to be insulting, it’s a joke in good spirit

I think it communicates the point that their setup requires a level of effort and commitment that’s not for everyone

> their setup requires a level of effort and commitment that’s not for everyone

Depends!

A lot of people doing this kind of stuff probably do this stuff professionally. That drops most of the “learn how everything works” part of the project and substantially lowers the effort.

I’ve got a half dozen Lenovo Tiny PCs sitting in a cobbled together wooden holder and plugged in to a cheap managed gigabit TP-Link switch. One runs TrueNAS to provide persistent storage, and the rest run Debian+k3s.

Total initial monetary investment was maybe $500 for the PCs, RAM upgrades, some additional hard drives, etc.

Total initial time investment was probably my evenings for a week. And the majority of that was fighting with the friggin’ Debian installer so I could PXE boot the machines (or any future machines) and have them automatically come up fully installed and configured and joined to the cluster with no interaction.

As far as ongoing commitment… it’s been very minimal. It just runs. If anything fails, needs an upgrade, or anything else happens… I just reboot the node and wait 10 minutes while it blows itself away and sets itself back up. Managing workloads is just editing some YAML files and pushing them up to the GitLab instance running on there.

Barely more work than running any of this on AWS and it costs substantially less than the $4k/yr or something I was paying before.

  > It’s not meant to be insulting, it’s a joke in good spirit
Indeed. That said it rings a bit true for me.

The day I sold my upgraded Macintosh and bought a motorcycle was, in hindsight, one of the best decisions I ever made.

I was without a home computer for about 3 years before I got another one, though I was a programmer by trade.

But the bike, well, just going to say far, far more ups than downs. Never regretted that trade.

I am literally thinking of doing the same thing :)
>It’s not meant to be insulting, it’s a joke in good spirit

Oh ok. It's hard to tell you're joking because you've made condescending comments about generalized groups of people in the past. But I've never downvoted them and just moved on. I stopped to reply in this case because I recently saw a bunch "insane petabyte homelab tour" videos where the owners took a lot of pride in showing their setups. It sounded like the "buy a motorcycle" advice was dismissive of their hobby.

Personally I run frigate, gitea, jellyfin, file storage, and a bunch of other minor test environments.

I find it highly convenient personally, I have a data cap so moving large stuff files around happens over 10gbe locally instead of over the internet to aws or whatever. It's also all mine so from a security and privacy perspective it has a lot of advantages.

Do you do any offsite backup?
Piling on, my homelab is currently running

* calendar/contact sync (webdav)

* personal crm

* notes webapp

* email (yes, my primary one. helps when you're running business internet from home rather than a random ip on a vps)

* mediawiki for writing

* rss reader webapp

* internet file sharing (basically selfhosted dropbox)

* virtual tabletop for d&d-like games

* reverse proxy/dns/cert management (a let's encrypt post renew hook that scps the certs where they need to go)/zfs

This runs on an old rackmount server under a table using KVM/QEMU (once you get the commands written it your notes it's not so bad to manage purely from the command line), a cheap managed switch, and x86 router. I back up important stuff (email on the server, then lots of stuff on my desktop) to BackBlaze

For me, mostly for experimentation with networking. For a practical example: most of my complaints and gripes with IPv6 stem from trying to actually run an IPv6 network. And realizing that folks proclaiming that IPv6 is ready for everyone probably hasn't tried to administer a non-trivial network. Or they're getting enterprise vendor help.

Looks like the author of the story is also dabbling into reliability engineering as well; having hardware can be a little helpful for that too since there's often vendor quirks as well.

It means different things to different people, but I'd say for most it's some mixture of the following:

1. Enjoyment of building an enthusiast system from select components,

2. Having a more capable and flexible system,

3. Learning how networking works by being your own network admin.

You don't need all the components. Many will get more just because they want to (see point 1), but mostly you get them because you need to (see point 2).

I'll dogpile on here with my uses:

- AdGuard / PiHole - Plex server (plus the whole suite of *arr -- I gave up Netflix during the password sharing debacle) - Home Assistant (I'm on a huge data-ownership crusade this year) - Stats tracking for my car (TeslaMate -- this is such an amazing piece of software cannot recommend it enough if you've got a Tesla) - general tinkering

I'm currently building a house as well and I plan on deploying a way more complicated networking setup (full-ubiquiti) so I can get rid of all my internet-connected security devices (cams and doorbell for example).

Honestly... I used to build PCs (I still do when I need one) and now this fills that gap for me. I spend way too much money on it and it makes me happy 'cause I'm having fun. I get to tinker and break things in the privacy of my home. I get to learn about Linux administration (this is honestly the least fun part) and networking.

> what would be the typical use of such a lab?

Usually self-hosting things and making things more complicated for fun.

> Why are so many different components needed?

Learning experience. Many home lab enthusiasts are sysadmins(-adjacent) and use it as a learning experience.

I use mine for:

* Streaming media server with Plex

* Jenkins build server

* Game servers (Minecraft, Factorio, etc.)

* Photo syncing with Immich

* File syncing with Syncthing

* Alternative frontends for Reddit and YouTube with Teddit and Invidious

* Home automation with Home Assistant

Partially to practice things you do (or want to do) at work, partially because it’s just fun.

I set up a Mellanox mesh network between my three compute nodes a couple of weeks ago. 56 Gbps Infiniband is pretty sweet, although my CPU is too slow to fully take advantage of it (I don’t have RoCE working yet, so it’s IPoIB). Still, a ~20x speed up for my Ceph cluster on NVMe is lovely, and makes it actually viable for use.

Typical use for mine case - is to test things before deploy somewhere else.

For example - Proxmox, XCP-ng, VMWare ESXi, Kubernetes, docker, etc, etc. All this require knowledge and experience.

>Proxmox, XCP-ng, VMWare ESXi, Kubernetes, docker, etc, etc.

It will be a bit general but what's the best use case here?

I mean try to build a home server, self host some services but there are so many options.

- Proxmox, run a VM for each service. And it supports LXC too.

- A vanilla Linux server which runs a type 2 hypervisor (QEMU) for each service

- Docker can be also done either in a single server but some people do it with something like Unraid (which is for NAS but support virtualization too). Very similarly you can install Docker in OpenMediaVault too.

Feels like there are so many ways to achive the same thing

It comes down to what you want to do and what you're comfortable with.

For the last 4 years, I've used a Proxmox and LXC-based setup. I create LXCs for specific services like nfs, jellyfin, and minecraft where I can fine-tune the memory and cpu specs or turn off the LXC when not in use. Then I have an LXC for all of my docker-based services.

I manage the LXC provisioning with ansible, the source code is available on github. https://github.com/andrewzah/service-automation/tree/master/...

But how you can install Proxmox under VM (QEMU/KVM)?

Sometime you need a hardware that you can trash it within day or two.

Proxmox + portainer
Depending on your use case some of the components might not be required like a discrete GPU.

You can start self hosting on a mini PC if you want.