What is a Homelab
A Homelab is a home environment where we can safely experiment with personal projects and ultimately a hobby.
A Homelab consists, in most cases, of one or more servers that run a virtualization environment and a storage solution to run different virtual machines that provide us with different services.
Components of a Homelab
Next we will see some components that can be part of a Homelab and what I use in mine.
This is the most essential piece of the whole setup.
I started using the router that the internet provider gave us when we contracted the internet connection, but the it was not very stable.
Then I tried different “consumer” models such as TP-Link and Linksys with their own firmware and also flashed with Open-WRT and, although they worked much better than the previous ones, the network stability was not as good as I wanted.
Finally I started using a virtualized software router / firewall on a mini PC, specifically pfSense, I also tried OPNsense for a few weeks, but in the end I went back to pfSense which is the one I’m currently using since I was not able to configure all the things I needed.
Depending on our budget and what we want to run in our Homelab, we can use anything from an old PC or laptop to rack servers or even something as small as a Raspberry Pi. I am using the following:
- An Intel NUC with an Intel i3-8109U processor with 16GB of RAM, a 500GB SSD and one ethernet port
- A Protectli (or Qotom or another of the thousand names it has) with an Atom E3845 processor, 8GB of RAM, a 128GB SSD disk and four ethernet ports
- A Raspberry Pi 3B
Many years ago (more than 10) I bought a Synology NAS to store all the GB I generated with another of my hobbies, photography. I know there are services in the cloud but at that time they were expensive and also the size of the photos was not too manageable to store them in the cloud. To this day the NAS is still with me and works like the first day.
The options here are endless and range from an external hard drive to rack solutions to small NAS like mine.
Virtualization software will allow us to have multiple servers or virtual PCs running at the same time on a single piece of hardware. The two most popular options are VMware ESXi and Proxmox VE.
VMware is the most used in the business environment and its hypervisor can be used for free but not all functions will be available (almost all related to High Availability and Fail-over with multiple servers).
On the other hand, Proxmox VE is a free software where all the functions are available (including High Availability, clustering and live migration) and where you can pay a subscription if you want to have a premium support.
I had ESXi for a while and recently I decided to migrate my virtual machines to Proxmox VE (here you can see how to install it on a mini PC) since I wanted to try this software that in the last time has become more popular and also to be able to have all the functions available.
Personally I am happy with both solutions, each one has its advantages and disadvantages. If the main purpose of the Homelab is to gain knowledge about the virtualization solution to apply it in the business environment, ESXi will be the most logical option.
A Homelab without a good network will not allow us to go very far. When using Proxmox VE (or ESXi) a part of our switches can be virtual but we will need some physical components. Currently I am using Ubiquiti switches; They are very good value for money and are simple enough for someone like me who is not a network expert. All the devices are configured and controlled from their software with a graphical environment (Unifi Controller) and have all the functions that I may need; they are managed switches, support VLANs, port mirroring, PoE ports (Power over Ethernet)…
Currently I have 2 Unifi 8 port switch (with 4 PoE ports) and soon I want to add a third to replace a TP-Link router that I have acting as a switch.
Wireless access points
This is the point that has generated the most headaches in the past. Unstable connections, problems with wired equipment when there were too many Wifi devices connected…
I am currently using two Wi-Fi access points, also from Unifi, specifically Unifi UAP AC Pro. Two are enough to cover the entire surface of the house, which has 3 floors.
These access points, like the switches, are configured and controlled from the Unifi software and have many functions with which we can experiment such as transferring clients between access points, creating multiple SSIDs assigned to VLANs…
We must not forget that our Homelab will be operating continuously so, to avoid unpleasant surprises, we should try to ensure that our equipment has the lowest possible consumption.
Reusing an old PC is a good way to save money on hardware but in return the consumption will not be as efficient as it could be on a new computer.
For example, a device that consumes 100W and taking a price of €0.2 per kWh would cost us €175 per year in electricity. An Intel NUC i3 (approximate consumption of 25W) would cost us €43 per year.
Other things that may also be helpful
- Domain: Having a domain is not too expensive and will allow us to obtain SSL certificates and since we have servers we could even host our own website.
- VPN: If we configure a VPN server we can access our Homelab remotely. Some options are OpenVPN or Wireguard.
- DNS filtering: It is a good way to filter malicious sites or block certain pages.
- Dynamic DNS service: Most ISPs assign us a dynamic IP, so if we do not want to lose remote access to our Homelab we must use one of these services.
- Set up backups: We want to make sure we make regular backups of anything that is important to avoid upsetting if something goes wrong (or we screw it up in our tests).
- Snapshots: In addition to backups, another function that I use continuously is snapshots on virtual machines before making any changes. Making a snapshot takes only a few seconds and if something goes wrong we can return to the snapshot state just as quickly.
What applications can we run in our Homelab
Here are some ideas of applications that we could run in our Homelab:
- Home Automation controller: Our servers are the perfect place to install our home automation controller, for example HomeAssistant.
- Pi-hole: A DNS server to block advertising.
- Domain controller: We can have our own domain and practice with group policies, permissions…
- Unifi Controller: If we have Unifi components we can use their specific hardware where the software is hosted, but we can also run it in a virtual machine and save the hardware.
- Web server: We can host our own website or blog.
- Multimedia server: We will be able to host and serve all our multimedia files with, for example, Plex or Emby.
Architecture of my Homelab
Finally, and as promised in the title of the post, here you have an image of the architecture of my modest Homelab. It’s not a big deal but for now it meets my needs perfectly 🙂
If you have made it this far, thank you very much! If you have any questions, do not hesitate to leave them in the comments and I will do my best to help.
And don’t forget to subscribe to receive an email when new articles are published.