I’m excited to share the beginning of my homelab journey. A homelab is a personal playground for tech enthusiasts like me to experiment with various technologies, learn new skills, and create a personalized computing environment. Join me as I dive into the world of self-hosted services, network management, and the endless possibilities of running your own home server setup.

Homelab Homelab updated

The Beginning: An Old Dell Optiplex

My homelab journey began with an old Dell Optiplex, equipped with an i7-3770 processor. This humble start ignited my passion for building and experimenting with home server setups. I breathed new life into this machine by adding more RAM and a GPU, initially running Windows before venturing into the world of Linux. Eventually, this system found a new purpose as a Home Theater PC (HTPC) at a family member’s house, sparking my quest for more hardware and possibilities.

Dell Optiplex The Dell Optiplex that started it all

Optiplex components turned into an HTPC Optiplex components turned into an HTPC

Expanding the Lab: Building a Personal Rig

As my interest grew, I built a personal computer with an i5-10400, 16GB of RAM, and an RTX 3060 with 12GB VRAM. This system served as my main workstation for a while, but my homelab experiences were far from over.

The Server Upgrade: Enter the Xeon

The next significant step in my homelab evolution was acquiring a powerhouse server built around a (old, budget and not energy efficient, but enough for me to explore without reaching a ceiling quickly) Xeon E5-2670 v3 processor, paired with 64GB of RAM. I transplanted the RTX 3060 from my personal rig and added a second 3060, creating a “budget” but somewhat capable multi-GPU setup. For storage, I implemented a RAID configuration using dual 512GB SSDs. This server now runs Proxmox, serving as the core of my homelab infrastructure. I run LXCs on it to be able to share the GPUs with the containers, and I’m working on using them to run the deep learning models that I’m interested in, along with Kubernetes tinkering and exploring for CI/CD, etc. I’m using K3D for local kubernetes clusters on this machine (instead of buying 3 separate machines for load balancing and the leader, K3D allows me to take advantage of the 12 cores of the Xeon and the 2 GPUs).

As of now, I’m also working on getting the NAS to give more space to the server though I’m still in the process of that.

Server

I’ve made progress setting up Proxmox with Linux Containers (LXC), but configuring the GPU server for optimal performance is still a work in progress.

Here is a photo of Proxmox running:

Proxmox

Repurposing and Nostalgia: The NAS Build

With the new server taking center stage, I repurposed my i5-10400 system into a Network Attached Storage (NAS) solution. In a nostalgic twist, I used an old Compaq computer case that once belonged to my late grandmother. I gave this case new life by adding external power buttons and 5.25-inch drive bays. The NAS now houses 4x 2TB HDDs for bulk storage and dual 256GB SSDs in ideally, a RAID configuration for the operating system and critical data. OpenMediaVault (which I think is not able to run the OS in RAID (without much effort, perhaps) but the data is safe) serves as the software backbone of this sentimental yet functional build.

NAS

Here is a photo of it running OMV (which is based on Debian):

OMV

Future-Proofing: The Router Project

To round out my homelab, I acquired a Lenovo ThinkCentre with a 6th gen i5 processor. This machine, equipped with dual 128GB SSDs, is destined to become a proper router running OPNsense. While still a work in progress, this addition will eventually provide more control and security to my network setup. The networking part is not my forte, and here in Mexico (or at least my ISP) isn’t that friendly to non-businesses, so I haven’t been able to get the full potential of this machine, but I haven’t found myself exposing any ports for services as of now, and I’m exploring tailscale for connecting outside the network. I want to eventually get the most out of OPNsense (something like Pi-Hole, etc), but for now it’s not a priority.

Router

Networking and Accessories

Throughout this journey, I’ve embraced the DIY spirit by creating my own Cat6 cables. A basic TP-Link router currently handles network duties, with plans to flash it with OpenWRT in the future. For whole-building coverage, I’ve installed a mesh Wi-Fi system.

As it is now

Most of the machines are set up so that they can be remotely accessed, so the monitors are now mostly for debugging. Eventually I’ll set up something akin to grafana to monitor the machines.

I want to use the Orange Pi 5 as a chatbot LLM local server, but I’m still exploring options for that. Will keep you posted.

Personal and Work Devices

Complementing my homelab setup, I maintain a Windows laptop for gaming/personal use, an HTPC on the living room, and an HP 445 G9 dedicated strictly to work tasks, ensuring a clear separation between my homelab experiments and academic/professional responsibilities.

This homelab journey has been a continuous process of learning, upgrading, and repurposing. Each step has brought new challenges and opportunities to expand my knowledge of networking, virtualization, and system administration. As I look to the future, I’m excited about the possibilities of further optimizing my setup and exploring new technologies within my personal tech playground.

I’ll keep updating this post as I add more stuff to the homelab, and I’ll try to keep it updated with the latest technologies and tools that I’m using.

Eventually, I want to upgrade to a more environmentally friendly setup, and I’m considering a few options, with a focus on transitioning to ARM servers, with some options like these:

  • nVidia Jetson Orin
  • RK3588 compute modules
  • Raspberry Pi 5

Although the effort to make everything run on an ARM server is higher, I think that it’ll eventually be worth it (although they seem to be more expensive, perhaps they’ll eventually become cheaper).