The more I build out my home lab, the more I love it. Being able to tinker with operating systems, services, and networking gear is a fulfilling hobby for me, and the parts that work out make my home better to live in. I've learned a ton over the years, but the one thing that I've not loved is what it does to my electricity bill. Old ex-enterprise hardware can be power-hungry, and quite honestly, much of it was surplus to my actual needs.
And it didn't need to be like this. Add the generational gains of a decade or so of new CPU releases, some other changes to workflow, and some smart devices, and your home lab can be sipping power when it's not in use, and not needing much more than that when running at full bore. After all, not every home lab task needs 64 cores of rendering power, and more efficient hardware might be a much better fit.
Use Mini PCs for your servers
They're more than powerful enough for most use cases
It's all too easy to get caught in the trap of looking at powerful ex-enterprise servers, Xeon or Epyc CPUs, or even Threadripper for building your home lab. After all, these systems come with plenty of expandability, cores, and memory capacity. The downside to the powerful hardware is equally mighty power requirements, which makes your electricity bill suck. But let's be brutally honest with our requirements—because we don't need such powerful machines for self-hosting.
home lab tends to run on a "because we can" maxim
Now, I'm not saying there aren't use cases where this overpowered hardware isn't necessary. And I know home lab tends to run on a "because we can" maxim, but you can get almost the utility from a trio of Mini PCs running Proxmox than you can from a rackmount server. Possibly even more, because you can upgrade one of the three at any time without losing access to your home lab, while learning valuable skills about high availability and clustering. And those Mini PCs will be using a fraction of the power, with an N100 powered unit drawing about 9W when running Proxmox, and under 15W with a handful of virtual machines running.
Put smart plugs on everything
Measure power consumption and have a handy off-switch from anywhere
I love visualizing the power draw each part of my home lab uses, directly from the wall, so I've got smart plugs everywhere. I know I could get a similar view of power use from programs and other tools, but I find having power meters on each socket is more accurate. Granted, it's not as granular and takes a little more effort to quantify power draw from individual services, but an overall view of consumption is often easier to work with as it encompasses hard drives, SSDs, and other components that aren't always accounted for by monitoring tools.
The other point is that every powered-on device costs you money, even if it's not being used now. By having them on smart plugs, you can turn them off easily when you don't need them, and back on again in a second, all without needing physical access. And that's also helpful for rebooting machines when they crash, or if you want to do a soft reset to get your router working again. All you need to remember is to change the UEFI BIOS settings so the devices power back on when the smart switch is enabled again.
Virtualize your workloads instead of individual machines
Why run multiple machines when you can stack VMs on a powerful server
Your home server, NAS, or home lab Mini PC might be there primarily to serve files to the rest of your devices, but that's not all it can do, and the fact it's always running means it's a perfect place to stack containerized services or virtual machines. That's because sending files might occasionally max out your network, but it won't max out your CPU or memory, giving you lots of space for activities. The only thing you need is sufficient RAM, which is relatively affordable even at high capacities.
And stacking virtual machines or other services onto that server isn't as much of a power hit as you might think. The first virtual machine will draw the most, but it's a diminishing amount the more you stack, and if you're using a low-power NAS or Mini PC the total draw won't be that high at all. And even if the Mini PC is maxed out, there'll still be lower power usage than multiple devices, each running specialized tasks. This won't always work, but as a general rule, stacking services on one device works well.
You can still test clustered setups on one machine, because Proxmox happily works as nested virtual machines, so you can run Proxmox as bare metal and then nest several Proxmox VMs in that installation. The other benefit here is that by testing everything virtually, you don't need networking hardware to add to the power bill, and you can still simulate clustering, or disable virtual network interfaces to simulate broken patch cables, or anything else you can think of that would be useful to test.
Schedule and automate tasks and shutdowns
Run intensive tasks at lower electricity rates or power down devices when not needed
Not every task your servers perform will be power-intensive, but for those that are, scheduling them for off-hours when everyone is asleep can be a game-changer. It reduces the load on the server during peak hours, and reduces the strain on other parts of your home lab that might be in use, like the network. Depending on where you live and your utility company, you might also get lower electricity rates during off-peak hours, giving you even more reasons to schedule backups and other intensive tasks for those hours.
You can then combine the scheduling with Wake-on-LAN to power down home lab equipment when it's not being used, but have it periodically boot up to handle updates and other tasks so that everything will be ready the next time you need it, and you won't have to spend precious time waiting for updates.
Run everything headless
You'll save a ton of power not needing displays and peripherals plugged in
While it's certainly useful to have console access to home lab devices in case the network goes down, you don't need this on every device, and many devices are just as easy to manage headless. Whether you're trying to eke out performance on a Raspberry Pi or have services running on your NAS or server, you don't need a connected monitor and peripherals drawing power, because SSH and web-based dashboards can get the job done just as well.
The command line should be your friend when working in your home lab, anyway, and running headless forces you to get intimately acquainted with its inner workings. It also means you can easily build out a cluster of servers to use without worrying about extra cable mess, or power for displays, and all of those additional devices use more power, so your electricity use will be lower. You can go one step further and add PiKVM devices to handle the things SSH can't, like BIOS-level access. so you don't ever need to plug another peripheral into your servers.
Modern hardware makes your home lab more efficient, and your electricity bill will thank you
I'm all for experimentation in the home lab, but budgetary constraints aren't just for new hardware, and ongoing running costs definitely need to be factored in. You can squeeze some efficiency out of your existing hardware if you try, but I've found that swapping servers for inexpensive Mini PCs to be just as useful for my home lab needs, at a fraction of the power usage. Plus, it's not just the power the server uses up. Mini PCs give off less heat, which means my AC isn't running as hard during those summer months, saving a significant chunk of my old power bill.
