Skip to content

Testing on a Budget: The Essential Home Lab Setup Guide

Testing on a Budget: The Essential Home Lab Setup Guide

Welcome to Homelabs.Guru, this will be my first post on brand new website so.. weeee! or i should say “Hello World” isnt’ it? 🙂

I want to start this journey talking about how to setup our homelab and how to think about it in a budget way.

We do not have tons of money for a homelab, or still we doesn’t have it so we must think it in a different way.

First of all, when i’ve started building my homelab my setup was pretty simple:

  • ISP router > this had in charge of all the networks in my home, talking about DNS, DHCP, Wifi services and so on..
  • Desktop PC > it was a standard desktop PC, nothing more than CPU, RAM, HDD and a display.

In that time, i was studying for Microsoft Active Directory certifications so what i needed was to test different configurations about Microsoft applications, so what i need was a couple of domain controllers and some Windows client PC.

So, what i did?

Basically the first setup was to pump a new PC with tons of RAM and storage to build a virtualization host.

On this PC, talking about fifteen years ago, i’ve installed:

  • Intel I7 quad core CPU with HyperThreading > so 8 threads total;
  • 32 GB of RAM > (it was a lot of ram fifteen years ago 🙂 )
  • 4TB of storage with standard mechanical disks;
  • 128GB SSD to boost the hypervisor performances;

It was a pretty good setup to start testing, over this i was using VirtualBox as a Hypervisor because.. i had only one PC 😀 so i must had a PC that i could use when i was not studying.

Then, when i’ve switched to VmWare certifications, i’ve received a license for vmWare Workstation that is actually available for trial purposes.

Build a homelab now

My first suggestion is to have a similar setup, take – for example – a setup that you can use also for gaming purposes and pump it up with more RAM and storage than you need for gaming and you will have a perfect setup to build your “virtual” homelab setup.

if you have a dedicated PC that you want to use as a homelab host, you can install a type 1 hypervisor.

During these days, the choice of Broadcom to change the “ESXI Free” business model ( you can find here the knowledge base article ) take my focus on other solutions than this, talking about what you can find on the open-source scenario and from my point of view Proxmox is what is most near to the ESXI-experience.

This doesn’t mean that vmware will disappear in our labs but if i have to setup a brand new lab, probably i will go to this kind of solutions.

And if you want to test more type 1 hypervisors, here a little list:

  • OpenNebula > based on kvm, i’ve used for testing purposes in an enterprise enviroment to build a VDI solution;
  • XCP-ng > fork of Xen developed by Citrix

Ok i’ve choosen the hypervisor, what now?

This enviroment need to communicate with the external network, so your first test could be to install a virtualized firewall.

Step 1: Firewall

There are plenty of opensource firewall applications, like OPNSense, Pfsense , Endian that you can setup and try in your homelab.

You can be sure that using this kind of applications will give to you much more knowledge than study for months.

As a system engineer you have to test, broke and solve issues before to be an expert. – cit. Myself 😉

After testing some firewall applications, you can now think about workloads that you can deploy behind the firewall – and by the way, could be the chance that you do not need a firewall but can be a good training to test it to learn protocols, ports, application controls, NAT, SNAT etc..

Step 2: Linux Docker Host

During my experiments, i use a lot of dockerized applications.

You can’t imagine how much time we need to invest before Docker – or containerized applications in general – to setup a testing enviroment.

With Docker, you can use containers available on Docker Hub to spin up a test enviroment and do your staff really in a minute.

The commands “docker run” and “docker compose up -d” have to become your friends, believe me you will save so much time this way.

So how i can setup my docker host? you can find plenty of guides online to setup a docker host but, from my point of view, what i use is:

  • Debian OS as a base operating system;
  • update the os with latest updates;
  • install docker-ce and docker-compose;
  • install Portainer to have a GUI where i can manage the containers, virtual networks and persistant volumes;

From this kind of enviroment i usually make an export of the vm to have a template that i can deploy in no time then i can clone it to isolate different testing enviroment with any kind of applications.

If you want to expose the application, you can – for example – use a reverse proxy like Nginx Proxy Manager (this is what i use), Caddy, Traefik.

With the reverse proxy configured, you can also manage SSL certificates using Let’s Encrypt to obtain a free certificate that will secure you traffic but keep in mind that a reverse proxy is not a security thing, you have to use a firewall.

And you, what do you think about it?

How will you configure your homelab if you have to start from the beginning?

Leave me a comment below to share your knowledge 😉

Leave a Reply

Your email address will not be published. Required fields are marked *