bodholtt.im

Homelab Upgrade Plan

Date published: 2024-03-26

Last updated: 2024-04-11


Currently, my main server in my homelab is a PC running Ubuntu 22.04LTS, along with many Docker containers. I want to transition over to using VMs for my server for increased flexibility. I also want to upgrade the RAM from 16GB to 32GB.


The Plan

I find myself not using the GUI for all that much in Ubuntu, and I want to move my docker containers to a more lightweight OS. I figured using Ubuntu Server 24.04 LTS would work because I am familiar with regular Ubuntu. For a desktop environment, I want to have both a Windows and a Linux VM. I decided to go with Windows 11, and I want to try Fedora 40, because I’d like to get experience with a distro that isn’t Debian-based. I want these desktop VMs to be remotely accessible, so that I can move development off of my laptop and onto somewhere I can access without needing it. I also want to move back to using a reverse proxy for most services - mostly for authentication integration with services. Right now, I use Authentik to authenticate access to my services through Cloudflare tunnels, but then I also have to log in to the service itself. I want to keep the benefits of having the tunnels while also being able to use authentication.


I want to build documentation habits, to make for easier maintenance and sharing of process. I neglected to do so when I started and it has definitely caused headaches.


Because I want to migrate to Ubuntu 24.04 LTS and Fedora 40, I plan on performing this upgrade in early May, when they release.


Main Goals

  • Migrate operating systems, to enforce portability and flexibility
  • Virtualize the operating system
  • Develop good documentation for easier maintenance
  • Enforce security configurations

Desired Setup

PC running Proxmox with three VMs:

  • Ubuntu Server 24.04 LTS
    • Docker host
    • Network storage host
  • Fedora 40
    • Desktop for development
  • Windows 11
    • Desktop for Windows needs

The Process

  1. Back up the boot drive, which contains all my server configurations.
    • Leave the other storage devices as-is, they only contain data used by my docker containers.
  2. Upgrade the RAM from 16GB to 32GB
  3. Install Proxmox onto the boot drive, then create the VMs
    • Fresh installs, so things can be done with better practices (no chmod 777)
  4. Mount the storage drives to the Ubuntu VM
  5. Set up docker in the Ubuntu VM
  6. Set up network shares for the storage drives and server configs, and connect the other VMs to them
  7. Set up reverse proxy, authentication, and Cloudflare tunnels.

Future Lab Experiments

Additionally, I have plans for some experiments I want to run.

  • Set up a domain controller VM and connect a Windows VM and a Linux VM to the domain
    • I think it would be useful to set up an active directory at home, for both learning and device management.
  • Set up a dedicated NAS with multiple drives
    • I want to set up reliable storage resistant to hardware failure, using a fitting filesystem and OS
    • There are lots of old 256GB SSDs at my workplace which I could use as a test before investing in good drives.

do not copy

built with Astro v5.1.9

© 2024 tim bodholt

⧐ site map