Homelab episode 2 - The mini PC era
31 March 2026In the first episode of the homelab saga, I installed some basic services on a Raspberry Pi Zero. This worked well for a while, but anyhting more than a PiHole stressed the poor little thing out to the point of random reboots.
That's why I decided to upgrade to a mini pc. More specifically, a Lenovo ThinkCentre M920q. It's bigger than a Pi Zero, but smaller than a full blown PC. It lives tethered to my router and only uses a handful of Watt at idle (which is most of the time). I've always had a special place in my heart for small formfactor technology and this machine fits right in.
Here's a list of the specs:
- CPU: Intel Core i5-9500T CPU @ 2.20GHz
- GPU: Intel CoffeeLake-S GT2 [UHD Graphics 630]
- RAM: 16GB DDR4
In theory, it's nothing to write home about. For a simple, single-user homelab however, it's perfect.
I bought this beauty second hand for just NZ$300. At the time of writing (early 2026), a global memory shortage is crunching the consumer ram market. AI companies are buying up as much memory as they can for their data centers. This results in a (new) single 16GB stick of DDR4 memory costing about NZ$330, more than double compared to just a few months ago. Yes you read that right, I technically profited from just the RAM alone!
Software
The machine came with Windows, but I didn't even boot into Windows once and immediately installed Debian.
I chose Debian for its reliability which is especially important in an always-on server.
To ensure the machine keeps up to date, I enabled unattended-upgrades.
Docker is in charge of running all the applications. I've created Compose files for every service. Many of the services come with an official Compose file, but I created them myself for those which didn't.
I experimented with Portainer but didn't like the abstraction.
It was cool to manage Docker images without ssh but you lose a sense of control.
Containers broke after a restart and I was unable to recover them through Portainer.
Additionally, it's yet another login to remember/maintain.
On one occasion, I forgot my credentials and had to resort to mounting the Portainer
volume to a test container to retrieve my docker compose files. Not a great experience.
These are the services I'm currently running and actively using in no particular order:
- Immich - Google Photos/iCloud Photos alternative
- Joplin Server - Synchronisation server for Joplin notes app
- Home Assistant - Smart home automation software used in my Air quality monitor project
- Prometheus + Node Exporter - Scrapes hardware metrics such as CPU, RAM and disk usage
- Grafana - Displays the Node Exporter in a visually appealing dashboard
- AdGuard - Adblocker as DNS server
- TailScale - VPN to access my home network from anywhere
- Heimdall - Dashboard providing quick access to services without needing custom DNS records.
Final remarks
I'm looking forward to adding more services when they cross my path. It's easy to add every little service you find, but if you never use them, might as well not install them. For a full list of cool self-hosted software, make sure to check out the Awesome-Selfhosted project on GitHub.
I don't intend on upgrading anytime soon, even though I'm very interested in Project MINI Rack. Small tech is the way.