My Homelab Journey: Upgrading to a Lenovo M920 Tiny with Proxmox - Part 4

Ayoub ToubaAyoub Touba
5 min read

Hello again!

After playing around with my Raspberry Pi 4 setup for a while (as you saw in my previous articles), I started feeling the itch to try something with a bit more muscle. Don't get me wrong, the Pi has been amazing for getting my feet wet in the homelab world, but I was starting to bump into its limitations when trying to run multiple services at once.

This led me to make the jump to a Lenovo M920 Tiny with an Intel i5 8th Generation processor, 32GB RAM, and a 2TB SSD. It's compact, but packs enough power to let me explore all those cool self-hosted applications I've been eyeing on r/homelab! ๐Ÿ˜„

Why Upgrade from Raspberry Pi?

None :D, Let's be honest, once you catch the homelab bug, you're always thinking about the next expansion! ๐Ÿค“

1. Setting Up Proxmox VE as My Hypervisor

What is Proxmox?

One of the first things I kept seeing mentioned in homelab communities was Proxmox Virtual Environment (Proxmox VE). Their website describes it as "a complete open-source platform for enterprise virtualization. With the built-in web interface, you can easily manage VMs and containers."

Basically, it's an operating system designed specifically for running and managing virtual machines and containers, all through a nice web interface. After digging into Reddit threads and YouTube videos, I was sold on giving it a try!

Why Proxmox?

The more I researched, the more Proxmox seemed like the perfect fit:

  • It's completely free and open-source

  • Comes with a user-friendly web interface

  • Has a super active community (which is great when you inevitably get stuck!)

  • Seems powerful enough for my needs but not overly complicated

1.1 Proxmox Installation

Rather than boring you with step-by-step instructions (which would just be me copy-pasting from better guides), I'll share the resources that saved me a ton of headaches:

I just created a bootable USB drive with the Proxmox VE ISO, plugged it into my Lenovo, and followed the guided installation. It was surprisingly straightforward, and within about 30 minutes I had Proxmox up and running!

2. Creating My Main Home Server VM

With Proxmox happily installed, the next step was to create a virtual machine to be my main home server. I went with Ubuntu Server 24.04 LTS because it's what I'm most familiar with.

2.1 VM Configuration

For my home server VM, I allocated:

  • 4 CPU cores

  • 8GB RAM (keeping some headroom for other VMs)

  • 100GB storage (plenty for Docker containers)

  • Bridged network adapter so it would get its own IP on my network

2.2 Software Stack

I stuck with the same software stack I was already using on my Raspberry Pi:

  • Docker: For running containerized applications

  • Portainer: For easy container management

  • Nginx Proxy Manager (NPM): For handling reverse proxy and SSL stuff

  • AdGuard Home: For network-wide ad blocking

The migration was surprisingly smooth - Docker makes it easy to export/import settings between systems, which saved me tons of time!

3. My Current Homelab Architecture

So now my homelab has evolved into something a bit more complex but way more capable:

  1. Internet Router/Firewall: The usual gateway to the internet

  2. Lenovo M920 Tiny running Proxmox VE: The new powerhouse of my setup

    • Main Home Server VM (Ubuntu 24.04): Running with all these services:

      • Homepage, AdGuard Home, Nginx Proxy Manager, Stirling PDF

      • N8n, Kavita, YTB Audio (one of the web applications I built), , SnippetBox

      • Kuma, PaperLess, Wallos, Watchower

    • Kali Linux VM: Because why not have a security testing playground?

  3. Raspberry Pi 4 (8GB RAM): Now dedicated to running just one thing:

    • Immich: My self-hosted Google Photos alternative that I talked about in Part 3

I've included a diagram of the setup below to make it easier to visualize:

3.1 Why Keep the Raspberry Pi for Immich?

You might be wondering why I kept Immich running on the Raspberry Pi instead of moving it to the new server. A few reasons:

  1. It's working perfectly: As I mentioned in Part 3, I went through the whole process of setting up Immich with an external HDD on the Pi, and it's been running flawlessly

  2. Dedicated photo machine: Having a separate device just for photo backups means I can tinker with the main server without worrying about my precious photos

4. Future Plans & Services

Since upgrading to more powerful hardware, I've been able to add several new services that weren't practical on the Raspberry Pi. I won't go into depth about each one here (that would make this post way too long!), but I'll be writing detailed articles about the most interesting ones in future posts.

I've been particularly excited about exploring things like Paperless-ngx for document management, N8n for automating workflows, and diving into security testing with the Kali Linux VM.

As my homelab journey continues, I'm already thinking about next steps:

  1. Setting up proper backups: Right now it's a bit manual

  2. Network segregation: Maybe some VLANs to separate things?

  3. Home automation: Home Assistant is tempting me...

This homelab adventure continues to be both educational and fun - there's always something new to learn and try out. As I explore more services and configurations, I'll be sharing my experiences in future articles.

Have you made a similar upgrade in your homelab? Or still thinking about taking the plunge beyond Raspberry Pi? Let me know in the comments!

0
Subscribe to my newsletter

Read articles from Ayoub Touba directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ayoub Touba
Ayoub Touba

With over a decade of hands-on experience, I specialize in building robust web applications and scalable software solutions. My expertise spans across cutting-edge frameworks and technologies, including Node.js, React, Angular, Vue.js, and Laravel. I also delve into hardware integration with ESP32 and Arduino, creating IoT solutions.