Are you a computer enthusiast? Want to learn new things like Virtualization, Docker, Kubernetes, touch HW and networking; or sharpen your skills? Or maybe run your own home infrastructure like NAS, Media server for family members, Ubiquity network controller, run a heart of your smart home - HomeAssistant? The answer is - Homelab
A homelab is essentially a personalized tech playground set up in one's home, where enthusiasts experiment, learn, and tinker with various technologies without the fear of causing damage to critical systems. It's like having a mini data center at home, ranging from basic setups with just a single server to more elaborate configurations comprising multiple servers, networking gear, and storage solutions. Homelabs provide a hands-on environment for individuals to explore different tech concepts, refine their skills, and simulate real-world scenarios, fostering both personal growth and professional development in fields like IT, networking, and software development.
Typically, people run multiple Virtual Machines in their homelabs. If you don't plan to run different operating systems, you may not use Virtualization, but it gives you flexibility, so even if you don't plan to run multiple OS right now, this may be a good idea to use it in the long run.
We will run multiple VMs.
To do so - you need a server capable of running those. Wait, do I need a real server? Not necessarily, at least not at the very beginning. Let's start with something affordable.
Do you have a PC? A 5-year-old PC can work, even older.
It just needs to meet the following requirements:
So, we need to install an operation system on our server, which would allow us to run Virtual machines. We may mess up with the OS AND run VMs at the same time, but that's not recommended. Remember, if you break the OS on your host, this will affect ALL the VMs. So to play safe, we will use the OS installed on the host to run VMs, and we will mess with the Operation systems running inside the VMs.
It's not just safer (breaking the OS inside VM will not affect the other VMs), but it's also easier to fix - Virtualization allows you to make snapshots either periodically or manually (before making serious changes), so if you break the OS inside VM you can easily restore it from the previously working snapshot.
Most modern OS allow you to run VMs. Although, most enthusiasts do not use Windows as their homelab host OS, nor MacOS.
In most cases, it narrows your options to 3:
Use your favorite Linux distribution, then set up KVM and/or XEN to run VMs. This works, I lived with this configuration for years, but there are drawbacks - setup is not quite simple; you have to do everything manually/using your own scripts, this is probably not the easiest way, especially for someone who just started.
Use VMware ESXi. VMware is an awesome piece of software, easy to install. It provides you with a management GUI. However, it has certain limitations in features in a free edition.
Proxmox. It's a Debian-based distribution built to run VMs. It provides management GUI, and the free version does not have limits in features, the difference with the paid one is mostly a lack of support.
I suggest using Proxmox, as it is easy to install, easy to manage, and cheap (free of charge).
You're ready to play with your first VM. Create a backup of the VM first. Do not be afraid to play with your VM, if you screw it up, you can easily restore it from the backup.
In the next articles, we will discuss what you can do in your homelab. Also, we will talk about other options for servers and which one would be right for you. Stay tuned.