Home Lab Server

Linux host to run services, docker containers, NAS, and VMs

What began as a simple project to host a Plex Media Server has turned into a much broader endeavor to self-host a wide variety of applications and services in my home environment. Inspired by various YouTube creators, I'm embarking on a journey to learn Linux, Docker containers, VMs, VPN/reverse proxy services, and advanced home network configurations.
Like many PC builders, over the years I've accumulated extra parts due to upgrades to my main rig. I decided it would be interesting to put together the older parts into a dedicated PC to run as a server. While I wanted to run Windows, my research indicated that Docker containers work better in Linux than Windows Subsystem for Linux (WSL), so I decided to go with Ubuntu LTS 22.04. I've had some academic experience with Linux, so this is a good opportunity to become more familiar with the CLI. Here are some of the services I would like to run as Docker containers:
  • Plex + Jellyfin - Home Media Servers
  • Tandoor - Recipe Manager
  • Speed Test App (OpenSpeedTest or LibreSpeed) - test connectivity between nodes in home network and external connections
  • MacOS - testing/development
  • Splunk (or Wazuh in Linux directly) - manage home security
  • Guacamole - remote access for hosts within home network
  • AdGuard - block web ads across the home network
  • Headscale - self-hosted version of Tailscale controller for self-hosted VPN based on WireGuard
As for NAS storage, I'm currently unsure of the amount of storage I will need, so I've delayed purchasing and setting up a RAID array for that reason. I plan to not only consolidate some personal files across external and internal drives, but I would like to digitize some home media content for personal viewing, and all told I'm not sure how much space I will need. This is something I plan to implement as the scale of the operation grows.