___ _____ ______ ________ |\ \ |\ _ \ _ \|\ _____\ \ \ \ \ \ \\\__\ \ \ \ \__/ \ \ \ \ \ \\|__| \ \ \ __\ \ \ \____\ \ \ \ \ \ \ \_| \ \_______\ \__\ \ \__\ \__\ \|_______|\|__| \|__|\|__|
In preparation for running a Minecraft summer camp, I setup a Linux Minecraft server on an Ubuntu Server for the campers to collaborate on. This project reignited my passion for Linux and I dove deep into networks and containerization.
A "Homelab" is a sandbox environment for testing out and deploying new softwares on your local network.
At the very bottom of most Homelabs, running on the bare metal, is Proxmox. Proxmox is an operating system that allows for full distribution of the machine's resources into separate environments, or containers. So, you could allocate half of your resources to a desktop environment, a quarter to Program A, and another quarter to Program B.
See how the distribution of resources flows in a Homelab
In my Homelab, running Proxmox, I have three containers for operating systenms. One of these containers is running Docker on top of a Ubuntu Server installation, where I further containerize programs into the which is widely used for many applications requiring isolation. Currently, I have configured a DNS and reverse-proxy, which are the foundation to any Homelab.
A DNS server is essential for setting up a Homelab. It allows the user to type in easily remembered local addresses rather than long ip-addresses and ports when accessing your self-hosted services. A reverse-proxy works in conjunction with the DNS to perform the proper routing to such services.