Homelab Wiki

My Homelabbing

Getting Started

Show/Hide Content

I originally heard of homelabbing when searching for ways to host my own Minecraft server for free. I always hosted the worlds because I played the most. Once I got busy with school, I couldn’t be online to play with my friends. Having to juggle multiple worlds was frustrating, so I decided to purchase a server.

I originally paid for a server from Pebble Hosting. It worked great temporarily, but was expensive in the long run. I had started experimenting with running my own game servers via my laptop, but it also wasn’t a permanent solution.

While experimenting, I discovered you could self-host much more than games. I had an old Dell Inspiron AIO with 8GB DDR4 RAM and an AMD A9 processor. While the RAM was enough to run a game server with me and my friends, the CPU was the bottleneck. Despite not being able to run the Minecraft server on it like I had wanted, I kept experimenting with self-hosting.

Discovering Media Hosting & Remote Access

Show/Hide Content

I found Jellyfin, a streaming platform that is 100% yours. I had plenty of movies on DVD and a DVD reader, so I decided to rip the movies and start hosting Jellyfin. The issue was, I could only access it from home.

In searching for a way to watch my movies elsewhere, I discovered Tailscale. Tailscale is a mesh VPN where I could link all my devices together — sharing files between my phone and laptop, using a device as an exit node to get past the school firewall, or accessing my Jellyfin server from other networks.

I was now running Jellyfin and Tailscale, but I knew I could do more.

Switching to Linux

Show/Hide Content

After researching different Linux distros, I had seen truly how many resources Windows uses idle, and how much more stable Linux was. I decided to run Ubuntu on my home server because I still did not feel comfortable using a CLI. Ubuntu allowed me to allocate more resources to my apps and less to the OS.

I had done it: Linux, self-hosting, and a VPN.

Upgrading Hardware & Discovering Docker

Show/Hide Content

I had gotten an MSI Workstation which perfectly fit my needs. Despite having a broken graphics card, the machine worked perfectly. I kept Windows installed for the time being as resources were no longer an issue and focused on the self-hosting aspect of my homelab.

I retired the old Inspiron and started using the MSI as my main machine. I could easily remote in from my laptop or the Windows app on my phone.

I tried Docker, because after trying to find what else I could do with homelabbing, I had discovered containers. I could run Linux-only apps on Windows, isolate programs, choose what resources I wanted to allocate to them, and easily update programs with a simple command.

When using Docker, I was using a terminal more often than a GUI. I was using PowerShell and Command Prompt more than a graphical interface, and soon the GUI had just become bloatware.

Finding Proxmox

Show/Hide Content

There is no way to run Windows headless without paying for Server Core, so I came back to Linux.

I had used (and still do) the old Dell Inspiron as a testing machine. I tested BSDs like OpenBSD and FreeBSD, and Linux distros like Mint, Debian, Ubuntu, Cachy, and Arch, but one OS caught my eye.

I was always remotely connecting to my server over Tailscale because I didn’t want to sit on my basement floor troubleshooting and configuring. I liked the idea of every app having a maximum amount of resources and being isolated like in Docker, and I wanted an easy way to manage my server.

Why Proxmox:
  • WebGUI only: I could manage every aspect of my server via my laptop.
  • Everything isolated: I could quickly create virtual machines and containers with the click of a button, running any OS I wanted.
  • Not too difficult to learn: Though it seemed intimidating at first, I learned the basics through YouTube tutorials and documentation.
  • Easier backups: I could back up entire VMs and containers on a set schedule or manually.

Current Setup

Show/Hide Content

Right now, I’m still using the MSI. My setup has evolved, with me using Plex instead of Jellyfin because it looked good right off the bat with no plugins, has a wide range of supported devices, free live TV and movies built in, and no more manually messing with metadata.

I had tried Pi-hole because I had heard over and over how great it was in online forums. I wanted it to just be my Tailscale DNS, but even after reinstalling it twice, it would always break my internet.

After searching for alternatives, I now use AdGuard Home on all my Tailscale devices, self-hosted in a Proxmox virtual machine. No more ads on my laptop, Apple TV, or even Xbox.

I originally wanted to use Dashy as my dashboard, but after tinkering, I found Homepage works best for me. It’s simple to set up and change how it looks, and has links to all my self-hosted services.

More coming soon.