▤ Homelab

Planning a homelab from your goals, not from the hardware

How to design a homelab: define what you want to learn or host, then estimate resources, budget, power use and space before buying any machine at all.

A homelab is a small computing laboratory at home: one or more machines on which you install systems, try configurations, host services and above all learn without fear of breaking something important. The most common mistake is to start with the purchase: you find a cheap used server, bring it home and only then ask what to do with it. The result is often a noisy, power-hungry machine that sits switched off in a corner.

It pays to go the other way round: goals first, then the resources they require, and only at the end the hardware.

Step one: write down your goals

A homelab can serve very different purposes, and each leads to different choices. First of all, it helps to write down the answers to a few questions.

  • Do I want to learn, or do I want stable services? A lab for studying virtualisation, networking and systems gets torn down and rebuilt often. A service the family depends on, such as the photo archive, must instead stay on and up to date. Mixing the two on the same machine creates friction: every experiment risks shutting down something people need.
  • Which technologies do I want to try? Studying a cluster requires at least three nodes or three virtual machines. Trying graphics card passthrough requires a platform that supports it. A lightweight container environment runs even on a mini PC.
  • How much time can I give it? A complex lab needs maintenance: updates, backups, disk checks. A small, well-kept project beats a large, abandoned one.

Step two: estimate resources

Once the goals are clear, list the expected workloads and estimate the resources of each.

Workload CPU Memory Disk
Lightweight containers (local DNS, dashboard) low a few hundred MB a few GB
Linux test virtual machine 1-2 cores 2-4 GB 20-40 GB
Windows virtual machine 2-4 cores 4-8 GB 60 GB or more
File and photo archive low 2-4 GB as needed, with redundancy
Video transcoding high or hardware acceleration 2-4 GB variable

The resource that runs out first is almost always RAM. The processor of a home machine sits idle most of the time, while every virtual machine holds its share of memory even when it is doing nothing. That is why it makes sense to favour platforms that accept plenty of RAM or allow you to add more later.

The second bottleneck is storage: not only capacity but speed. Many virtual machines on a single spinning disk become frustratingly slow. An SSD for systems and virtual machines plus hard drives for archives is a balanced combination.

Step three: household constraints

A homelab lives in a home, not a datacentre.

Noise

A rack server designed for a machine room has small, fast fans, built to move a lot of air without caring about noise. In a home office or a bedroom it can become unbearable. Before buying, ask yourself where the machine will physically sit.

Power

A machine running day and night draws power every hour of the year. The arithmetic is simple: average watts multiplied by 8,760 hours give the yearly watt-hours; divide by a thousand to get kWh. One continuous watt is worth about 8.8 kWh a year. With that number and the price on your own bill you can see immediately whether an old, powerful server will cost more than a modern mini PC within a few years.

Space and heat

Every watt consumed becomes heat. In a closed cupboard with no airflow the temperature climbs and components suffer. You need a ventilated spot with suitable power outlets and, ideally, close to the router or to a wired network port.

Step four: a minimal architecture

For most people a good starting point is:

  1. One main machine running a hypervisor, hosting virtual machines and containers.
  2. Separate storage, or at least dedicated disks for data, distinct from the system disks.
  3. A backup system that copies important data off the main machine.
  4. An uninterruptible power supply that covers short outages and allows an orderly shutdown.

This base can be extended with a second node, a managed switch or a machine dedicated to backups.

A concrete example

Suppose you want to learn to manage Linux virtual machines, host an archive of family documents and try a small container cluster. The estimates point to about 32 GB of RAM, 6-8 cores and a 1 TB SSD for systems and virtual machines, plus two mirrored disks for the archive. A recent mini PC or a used workstation fits these needs well, with modest power draw and low noise. A dual-processor rack server would be oversized for this use, and its cost would show up mostly on the electricity bill.

In my work I often see labs that started big and were later scaled down: it is cheaper and more instructive to grow step by step, adding a piece only when you have genuinely outgrown what you have.

In short

  • Start from goals: learning and hosting stable services call for different approaches.
  • RAM is almost always the first resource to run out, followed by disk speed.
  • Noise, power and heat matter as much as specifications: one continuous watt is about 8.8 kWh a year.
  • A hypervisor machine, separate data disks, backups and a UPS make a solid, expandable base.
  • Grow step by step, adding hardware only when what you have is no longer enough.
MM
Marco Marzaduri

Marco Marzaduri works in cybersecurity, digital forensics and web development. A computer science graduate, he combines rigorous technical analysis with attention to the people who use technology.

Read also