Published on

My Home Server

My Home Server

Since I needed quite a lot of computing power for my latest project: Traili, I decided to look for cheap hardware that:

  • would use little power
  • would be quiet
  • would have at least 64GB of RAM and a relatively modern processor

Finally I decided to go with the Lenovo M920Q - a small office computer (mini PC) that you can buy for as little as €200 (refurbished). I only needed to add 4 x 32GB RAM modules and a 2TB NVMe SSD to complete the setup.

Hardware and Prices

  • 2 x M920Q (i5 9th gen) - €250 each
  • 4 x 32 GB Kingston FURY DDR4 SODIMM - €60 each
  • 2TB WD Black SN850X 2TB - €155

The entire setup came to about €900, giving me a total of 12 vCPUs, 128GB RAM, and 2.5TB of SSD storage - quite impressive for the price point!

My babies

Proxmox Cluster

Perhaps it's overkill but I decided to combine these two small computers into one cluster in Proxmox :D This way I can easily move VMs between two nodes if there's a need for that.

Proxmox cluster summary Currently, I'm running 3 virtual machines across the 2 nodes:

VM 1 - An externally-facing nginx reverse proxy that routes traffic to the appropriate internal services

VM 2 - Runs within my local network and hosts various containerized services

VM 3 - Similar to VM 2, providing additional containerized services locally

Architecture

This is how it looks in detail: Cluster diagram

As you can see, it's a very simple architecture, but it's sufficient for me at the moment. Over time, I will likely expand the whole setup.

Services on my Mini PCs

All services are run as Docker containers. This allows me to manage them easily, and additionally the system on which I run them remains clean.

Services I currently run:

  • full planet tile server via Martin
  • routing engine for Europe, North and South America and Asia
  • route thumbnail image generator

Conclusion

For a relatively small amount of money, I managed to build a simple home server that offers quite a bit of computing power. The process of configuring everything was genuinely enjoyable – though judging by the popularity of reddit communities like r/homelab, I'm certainly not alone in finding this kind of project satisfying! :)