My Homelab Journey: The Ubuntu Phase

My Homelab Journey: The Ubuntu Phase


March, 2024

3 minutes

In the Previous Article, we explored the beginnings of my homelab journey, talking about why I wanted to start a homelab and the hardware I chose to make it happen. With a small Intel NUC server, a Synology NAS for storage, and a TP-Link router for network security, I had laid the foundation for my homelab. But hardware is only half the story. In this article, we'll dive into the software that brings this setup to life, starting with my first choice: Ubuntu.

Choosing a Path: The Advanced vs. The Simple

The Advanced

Proxmox LogoProxmox Logo

I considered two main paths for setting up my homelab. The first was using a hypervisor like Proxmox. This approach is quite flexible and sophisticated, opening up a wide range of possibilities. For those new to this, Proxmox is a hypervisor operating system that lets you run multiple virtual machines, each acting as a separate subsystem. It offers great benefits, such as simplifying backups and maintenance. Proxmox provides a user-friendly web interface that simplifies the management and interaction with virtual machines and containers.

Proxmox Web UIProxmox Web UI

However, Proxmox can be complex, adding a layer of difficulty that I preferred to avoid. Wanting to start small and simple for this experiment, I decided to explore another option. Proxmox Server Solutions

The Simple

Ubuntu LogoUbuntu Logo

The simpler option was to go with Ubuntu Server as the foundation for my homelab. I'm pretty familiar with working in the Linux terminal, and I've used Ubuntu quite a bit in the past, so it felt like a natural fit. Although Ubuntu Server doesn't come with a fancy user-friendly web interface like Proxmox does, I find myself quite comfortable using SSH, which lets me easily manage the server.

Embracing Containerization: My Safety Net

An Image for a whale referencing docker floating on the skies above a person with multiple screens in front of him like he's programming the worldAn Image for a whale referencing docker floating on the skies above a person with multiple screens in front of him like he's programming the world

Choosing Ubuntu Server as my homelab's operating system meant I was letting go of the safety net that comes with a hypervisor like Proxmox. If I made a mistake or messed up a setting, I wouldn't have an easy way to undo the changes. Therefore, adopting a containerized approach became essential. I resolved to install only software that was fully containerized, ensuring a more resilient and manageable system.

Docker: The Containerization King

Docker LogoDocker Logo

Fortunately, today, nearly every open-source project comes with a Docker Compose file, streamlining the installation and running of multiple programs to just a few lines of code. This setup sidesteps the hassles of managing libraries, dependencies, and potential conflicts—issues that used to make such tasks a nightmare. Now, it's as straightforward as copying configuration files, setting up ports and volumes, and launching the service. This shift dramatically simplifies managing software in a homelab environment.

Upcoming: Mastering NAS Configurations Without RAID

In my next article, I'll dive into the complications of my NAS setup, focusing on how I navigated the challenge of not using RAID while ensuring data redundancy. Additionally, I'll share insights on seamlessly integrating the NAS with my NUC, creating an efficient network storage solution. Stay tuned for practical tips and my personal experience in optimizing storage configurations without compromising on reliability.