As a chemist, this terminology vexes me, but it seems to be what everyone uses so why reinvent the wheel…
Google describe it as “a private self-hosted IT setup at home used for learning, experimenting, and running personal services on your own hardware.”
There can be subtleties that description doesn’t include, but it’s near enough.
Computer hardware
Can be anything from an old laptop or Raspberry Pi, right the way through to multiple rackmount servers and other enterprise-grade hardware. My first server in 1999 was an old Pentium 75 that I used to share the 2Mbps cable internet connection in my student house. While it might seem awesome having loads of powerful hardware, that costs money to buy and run, and generates heat and noise that needs tolerating or dealing with.
I currently have several:
Main server [DIY]
Fanless mini PC
HP t630 thin client
HP 260 G1 thin client
Networking hardware
For some, the router supplied by their ISP does the job, but these lack features and power so often end up being upgraded too. If you have lots of devices or a big house you also end up needing extra hardware to make sure connections get where you need them to.
My router is no longer a purpose-built device that has built-in wifi. It runs on the fanless mini PC, and wifi is shared out using TP-Link Omada Access Points. There are also switches, which are central points where cables from multiple devices meet and the flow of data can be controlled according to requirements.
Networking stuff can blur between hardware and software once you move away from the consumer devices. The OSI model treats networking as a conceptual seven-layer framework, and if you take a glance at that you might be able to see how the blur arises.
Software
The main point for most!
For me, you can group this into two main areas:
‘Production’ – services I and my family use all the time, like the media server, home automation, local AI and file server. Once these are set up you try to leave them alone so they stay up.
‘Testing’ – services I’m experimenting with, mainly for fun or consideration of moving into regular use. These cannot be relied on, and can be up, down or broken at any time.
It’s often a good idea to keep these separate but that’s not always easy with the hardware you have, and techniques like virtualisation or containerisation can control the risk reasonably well.