The original post: /r/homelab by /u/-rwsr-xr-x on 2024-12-28 01:17:00.

To begin, I have a bit of a homelab (probably more of a /r/HomeDataCenter) problem

I’m trying to untangle a bit. It’s grown from a small handful of machines, to machines + VMs, to a 25U rack to now a 42U rack that slides in and out of a closet on drawer slides. There are ~90 separate devices at the moment, between wired and wireless.

So I’m trying to map everything out, using Xmind at the moment, because a mind map is the quickest/easiest way to get it all down in a logical, connected fashion.

But as I’m doing this, I realize there’s multiple ways to represent the components in my homelab.

I have infra components (APs, switches, UPS’, routers, NAS) baremetal machines (lab machines, build boxes, arch-specific machines), virtual machines, docker running on baremetal, docker running in VMs, LXD clusters with their own containers and LXD VMs, LXD on metal, LXD in VMs, and so on. Every single component has a very specific role to play in this chorus.

Do I group everything:

  • by physical topology (cabling and device-level), or
  • by role (monitoring, web, services), or
  • by network (carve up the /22 and number sequentially), or
  • by application (apache, nginx, ldap, docker, rustdesk, guac, etc), or
  • by profile (virtual, baremetal, container, infrastructure), or…

There’s multiple ways to represent how the services and machines inter-operate, and probably no one “correct” way.

How do others decide on how to map this out?

Thanks in advance!