Ian O’Byrne
Overstory Writing

From Scrap Hardware to Stable Proxmox: Building the Core of My Homelab

How I went from thrifted hardware and confusion to a stable Proxmox base for the rest of my homelab.

Posted
Nov 20, 2025
Last revised
May 1, 2026
Author
Ian O’Byrne
Read
8 min
Topics
technology · open-source · ai

When I started this homelab, I didn’t really understand why everyone swore by Proxmox or why every Docker tutorial seemed to assume I already had half a platform built. I just wanted to run a few services. TrueNAS to replace Google Drive, Immich to replace Google Photos, Plex or Jellyfin for our media library, maybe some AI tools. All without taking down my family’s Wi-Fi in the process.

This post covers how I transitioned from a pile of thrifted hardware to a stable Proxmox hypervisor, including the key decisions, the mistakes that nearly bricked my node, and the straightforward storage and snapshot practices that made everything else possible.

Virtualization as the Core Layer

In the previous post, I discussed assembling the physical machine and selecting Proxmox as the base operating system. Here, I want to explain why that layer mattered and what clicked for me once I started using it.

I had heard the word virtualization a hundred times, but it didn’t mean much until I actually needed it. In homelab terms, that means virtualization, the layer that lets one physical machine act like many smaller machines.

The idea is simple:

You have one large computer, but you want it to behave like many smaller computers simultaneously.

Virtualization unlocked a few things immediately:

  • I could isolate services (media, storage, experiments, AI tools).
  • I could take a snapshot before doing something risky.
  • I could roll back when, inevitably, I broke something.
  • I could rebuild my entire setup quickly because everything lived inside its own “apartment.”

Why Proxmox?

Proxmox is an open source platform for virtualizing environments. It allows you to partition your hardware into separate virtual machines (VMs) or Linux Containers (LXCs) , each with its own operating system, settings, and resources. All were kept isolated from one another. If I broke something in one VM, the others continued to run. If I wanted to try out a different Linux flavor or a fresh install of Windows, I could do that without risking the whole machine.

The easiest way to picture it is to view Proxmox as a mall, and services at the shops.

Proxmox = the mall building
It creates the entire structure:

  • Stores → virtual machines and containers
  • Hallways → bridges, VLANs, and networks
  • Power & utilities → backups, snapshots, firewalls, permissions

Your services = the tenants inside the mall
Inside those shops:

  • You can run different kinds of businesses (media servers, file storage, automations)
  • You can move them, resize them, close them down, or open new ones
  • Everything stays in its own isolated space

Proxmox builds and manages the mall. Your services live inside it.

Understanding this helped me stop treating “apps” as the foundation. Virtualization is the foundation is the infrastructure that enables apps to function**.**

Installing Proxmox (The Simple Way)

If you’ve never installed a hypervisor before, don’t worry. Proxmox’s setup is much closer to installing Windows or macOS than people make it sound. There are numerous great videos on YouTube that will guide you through everything you need to do.

Here’s the quick version of how I got it running.

1. Download Proxmox VE

Visit the Proxmox website and download the Proxmox VE ISO file. It’s just a single installer file. Nothing scary.

2. Create a Bootable USB

Use a tool like Balena Etcher , Rufus , or Ventoy to write the ISO to a USB stick. Think of this as putting the “Proxmox installer” on a thumb drive so your homelab machine can boot from it.

3. Boot Your Homelab Machine From the USB

Plug the USB into your server or thrifted hardware. Restart it and press the key that opens the boot menu (usually F12 , F2 , DEL , or ESC).

Choose the USB drive.

4. Walk Through the Installer

The installer walks you through:

  • selecting your main drive (where Proxmox will live)
  • choosing a password
  • choosing a timezone
  • setting the management IP address

Tip: Give Proxmox a static IP (Internet Protocol) now. A static IP is a permanent, fixed numerical label for a device that doesn’t change, similar to a permanent home address.It saves headaches later. This is the address you’ll type to access your Proxmox dashboard.

5. Remove the USB and Reboot

When the installer finishes, unplug the USB and reboot. You’ll see a simple login screen, but you don’t need to use it.

6. Open the Proxmox Web Interface

From another computer on your home network, open a browser and type:

https://YOUR-PROXMOX-IP:8006

For example, if you set your static IP to 192.168.1.50, you’d go to:

https://192.168.1.50:8006

You’ll get a “connection not secure” warning. That’s normal; it just means you don’t have a signed SSL (Secure Sockets Layer) certificate.

Log in with:

  • Username: root
  • Password: the one you set during installation

7. Celebrate: You Now Have a Hypervisor

From this dashboard, you can create VMs, LXC containers, storage pools, backups, and networks, all from a single place. This moment (first login) is where the homelab actually starts to feel real.


Let ‘s Pause for a Progress Check

Here’s what my setup actually looked like:

  • A thrifted desktop rescued from marketplace oblivion
  • A handful of old spinning drives and one small SSD
  • A desire to build, experiment, and learn without fear of breaking everything

Proxmox installed cleanly from USB, but my first “uh oh” came fast: the box only had one NIC. With a single network port, every networking decision mattered more than I expected.

I documented the entire installation in Obsidian as I went along. Screenshots, commands, mistakes, fixes. My workflow was simple: watch a few YouTube videos, ask ChatGPT when I got stuck, and copy/paste AI-generated explanations into my notes (always labeled as AI). Then I rewrote them in my own words so future-me would actually understand what I had done.

My notes weren’t fancy. They included things like:

  • BIOS settings
  • Boot mode (UEFI)
  • NIC identifiers
  • Disk mapping
  • A copy of my original /etc/network/interfaces file in case I broke the network

That last one ended up saving me later.


Disk Partitioning & Storage Pools

Here’s how the storage ended up:

1. One 500 GB SSD → Proxmox system + local-lvm (Logical Volume Manager)

I used a 500 GB SSD for the main operating system. A single GB (gigabyte) can typically store around 200-300 high-quality photos or approximately 250 average MP3 songs, or a few hours of standard-definition video or a portion of a high-definition movie. An SSD, or solid-state drive, stores data on electronic circuits.

I installed Proxmox on a 500GB SSD I extracted from a deceased MacBook Pro. SSDs are fast, making them ideal for the operating system and any performance-sensitive applications.

Proxmox used this drive to create:

  • the base system
  • local-lvm , a general-purpose storage pool for VMs and containers

This provided a solid and speedy foundation.

2. HDDs → directory storage for bulk data

My first plan was to reuse a pile of old 4TB and 6TB hard drives for a TrueNAS storage pool. HDDs are slower but great for big, cheap storage. A single TB (terabyte) can typically store between 200,000 and 300,000 high-resolution photos, thousands of hours of music, or approximately 250 hours of high-definition (HD) video.

I quickly learned that NAS (network-attached storage) systems (like TrueNAS) work best when the drives are matched in size. My mismatched pair of 4TB drives, plus a lone 6TB drive, wasn’t going to cut it.

So, I saved up and bought four matching 12TB drives from an eBay seller recommended on Reddit. This was a significant purchase, but my thought was that each hard drive would back up the other, so I was essentially left with 24 TB of storage space. I also wanted to make this purchase once. Not having to buy smaller drives, fill them up, and then purchase larger drives at a later date.

When you build a NAS, you’re essentially creating a large pool of storage space. Think of your own personal Google Drive that is only limited by the amount of disk space you allocate to it. I also wanted a storage pool that was big enough, would provide redundancy (backups of my data), and would allow for easy expansion in the future.

The warranty actually paid off. One failed after a year, and the seller replaced it immediately. TrueNAS handled the failure gracefully and rebuilt the pool once the new drive arrived.

One of the benefits of using the Metal Box (the case and the motherboard) as my homelab was that I have a ton of room for more hard drives. Over time, I expanded the pool with two additional 12TB drives, providing me with roughly 36TB of usable space and redundancy.

All of this storage pool is mounted on my server as /mnt/mediapool. This means that I have a single, shared pool of space where I can store pictures, music, movies, documents, and more. I can log in to that storage pool from anywhere to make changes and upload materials. I can also point other VMs and LXCs to that pool as needed.

3. Backups & Next Steps

Once storage was stable, I focused on the question: “What happens when I break something?”

I added:

  • A second SSD as a backup target for the main Proxmox drive
  • An old Mac Mini running Proxmox Backup Server (PBS) to take full-system backups

Those two precautions have already saved me, especially when I mangled my network config and needed to roll back.

Looking ahead, I’m planning to:

  • automate nightly backups
  • run a mirrored homelab at a family member’s house for off-site redundancy

It might sound like overkill, but repurposing old hardware, learning as I go, and taking control of my own data has been worth it, both technically and philosophically.

Closing Thoughts

Once I had TrueNAS and the mediapool up and running, I added my library of photos, music, and videos. I created my first LXC with Plex and pointed it to the mediapool. It was able to find and play the video content anywhere I wanted.

This point was where the homelab stopped being abstract and began to feel like infrastructure. Getting Proxmox stable gave me a foundation I could build upon, break down, repair, and understand.

Virtualization unlocked a few things immediately:

  • I could isolate services (media, storage, experiments, AI tools).
  • I could take a snapshot before doing something risky.
  • I could roll back when, inevitably, I broke something.
  • I could rebuild my entire setup quickly because everything lived inside its own “apartment.”

This stability is exactly what enabled the much harder part, networking, which is the focus of the next post.

Next up: Part 4 — Network Configuration (VLANs, DNS, and how I finally stopped breaking my own internet).