In Part 1, I walked you through the physical setup: two Beelink mini PCs, dual NAS units, a UniFi network stack, and a smart home layer — all tucked inside a 650 sq ft apartment in Montreal. If you haven't read that one, start there.

Today we're going deeper. The hardware is just the shell. What makes it actually useful is what runs inside it.


Proxmox: The Foundation

Both Beelink machines run Proxmox VE — a free, open-source hypervisor that lets me run multiple virtual machines and containers on a single host. Think of it as the operating system for my operating systems.

PVE1 (the SER5) is the workhorse. It hosts every service I run at home. PVE2 (the EQR6) runs Proxmox Backup Server — its only job is to receive and store backups from PVE1 on a schedule. Automated. Verified. I don't think about it.

The reason I chose Proxmox over something like TrueNAS SCALE or bare-metal installs is flexibility. I can spin up a new container in two minutes, snapshot a VM before experimenting, and roll back if something breaks. For someone who likes to tinker without consequences, it's the right call.


Home Assistant: The Brain

If I had to pick one piece of software that earns its place the most, it's Home Assistant, running as a VM on PVE1.

Every smart home device that doesn't directly run in Homey — my Dreo humidifier and fans, some random sensors — runs through Home Assistant. It's the layer that helps makes everything talk to everything else.

A few things it handles:

Homey / Homekit handles the day-to-day voice and app control. Home Assistant handles the random stuff underneath. They work well together.


Jellyfin & Plex: Media on My Terms

I run both Plex and Jellyfin — not because I need both, but because they serve slightly different purposes.

Plex It's where my personal media library lives, and what I use most of the time inside the apartment. The free tier is enough for what I need.

Jellyfin is fully open-source and free. No account required, no subscription, no phone home. I'm testing it out to see if it can replace Plex full time. It's one short-coming is remote access to my personal content. But it's something I'm working on.

Both run as containers on PVE1, pulling media from the Synology DS923+ via NFS. The Synology handles storage; Proxmox handles compute. Clean separation.


Uptime Kuma: My Always-On Monitor

Uptime Kuma is a self-hosted monitoring dashboard — it watches every service I run and alerts me if something goes down. Clean UI, easy to set up, no cloud dependency.

It monitors:

When something goes offline, I get a push notification before I'd ever notice myself. For a homelab running 24/7, this is not optional. It's also quietly satisfying to open the dashboard and see a wall of green.


MeshCentral: Remote Access Without the Drama

MeshCentral is my self-hosted remote management platform — essentially a self-hosted TeamViewer. Full remote desktop, file transfer, terminal access, for every device I own.

I run it as a container on PVE1. Every machine I care about has the agent installed. If something goes sideways while I'm away from the apartment, I can get in and fix it without a VPN or a third-party tool that has access to my session data.

If you've ever relied on TeamViewer or AnyDesk and felt uncomfortable with what those companies can see — MeshCentral is the answer.


The Contabo VPS: What Lives in the Cloud

Not everything runs at home. Some things belong in the cloud — specifically, anything that needs to be publicly accessible and highly available.

I run a Contabo VPS managed through Coolify, a self-hosted platform-as-a-service that makes deploying and managing apps clean and straightforward.

Contabo is aggressively affordable — my VPS runs around $8/month depending on the plan, with specs that would cost two or three times that on DigitalOcean or Linode. It's not the flashiest provider, but for a personal blog and a few lightweight apps, it has never missed a beat.

What's consistently running on it:

Ghost CMS — this blog. Ghost is fast, clean, and built for independent publishers. It handles writing, SEO, and email newsletters without getting in the way. I chose it because it lets me focus on content, not the platform.

n8n — a self-hosted workflow automation tool. Think Zapier, but free and private. I use it to connect services and build automations without monthly subscription fees. It deserves its own post eventually — I'll leave it there for now.

The logic behind the split is simple: services that need to stay online even if my apartment loses power live on the VPS. Everything else lives on Proxmox at home.


The Principle Behind All of It

There's a version of self-hosting that becomes a hobby unto itself — always upgrading, always tweaking, perpetually in maintenance mode.

That's not the goal here.

Every service on this list runs because it replaces something I was paying for, gives me control over data I care about, or enables something I couldn't do otherwise. When everything is working correctly, I don't interact with any of it. It runs in the background while I do other things.

That's what minimalist infrastructure looks like to me. Not fewer tools. Fewer tools demanding attention.


Have questions about any of these tools or how I set them up? Drop them in the comments — the ones that come up most will shape what I write next.


Tools Mentioned

ToolWhat It DoesLink
Proxmox VEOpen-source hypervisorproxmox.com
Proxmox Backup ServerAutomated VM backupsproxmox.com
Home AssistantSmart home automation hubhome-assistant.io
JellyfinOpen-source media serverjellyfin.org
PlexMedia server with remote sharingplex.tv
Uptime KumaSelf-hosted uptime monitoruptime.kuma.pet
MeshCentralSelf-hosted remote managementmeshcentral.com
CoolifySelf-hosted PaaScoolify.io
Ghost CMSBlog platformghost.org
n8nSelf-hosted workflow automationn8n.io
ContaboVPS hostingcontabo.com

For the hardware behind all of this, see Part 1: The Hardware.