DEV Community

Cover image for Building a Home Lab with a Lenovo ThinkCentre M920q
Christoph Dieck
Christoph Dieck

Posted on Originally published at slashgordon.link

Building a Home Lab with a Lenovo ThinkCentre M920q

It all started innocently enough. A little Jellyfin for the movie collection here, a small Gitea instance for my code there. My Synology DS223 handled the job without complaint. But once you get a taste for automating your own software pipeline, you quickly end up wanting a CI runner. And that is exactly where things went sideways.

When memory runs out

One runner here, one build process there, and suddenly my NAS was telling me we had a massive memory problem. 2 GB of RAM is no luxury resort for containers. It is more like a studio apartment with a shared kitchen. As soon as the Gitea Runner kicked off a build, the system started gasping for air. The OOM killer came knocking.

The conclusion was obvious: I need a real server. But without solar panels on the roof, the usual second-hand server monsters with their 200-watt power supplies were out of the question.

My requirements:

  • Enough CPU and RAM for Docker containers, CI/CD runners, and media streaming
  • 35 watts max under load (electricity is not free)
  • Under 400 euros all-in, including upgrades
  • Compact enough to fit next to the NAS in the server cabinet

Big power, tiny box

After nights of browsing r/homelab and various forums, I landed on the quiet favorite of the home lab community: the Lenovo ThinkCentre M920q. An off-lease unit for 160 euros. Barely larger than a box of chocolates, but it has everything:

  • A real PCIe slot (for future 10GbE adventures)
  • Two RAM slots (up to 64 GB DDR4)
  • An M.2 slot for NVMe storage
  • An Intel Core i5-8500T with six cores that quietly get the job done

The shopping list

Component Cost
Lenovo M920q (Refurbished) 160 EUR
32 GB RAM (2x16 GB DDR4) 100 EUR
1 TB NVMe SSD (WD SN770) 100 EUR
Original 8 GB RAM (sold on eBay) -29 EUR
Original 256 GB SSD (sold on eBay) -26 EUR
Total (net) 305 EUR

Selling the original components on eBay brought the total down to about 305 euros. For that money you get a machine that delivers more performance per watt than many a tower server. And it is quieter than the cooler box sitting next to it.

The foundation: Proxmox, Docker, Portainer

I went with Proxmox VE as the hypervisor. First order of business after installation: an Ubuntu Server VM with Docker and Portainer as the container management UI.

I immediately made a rookie mistake: I installed the Portainer Community Edition. Only after some digging did I find out that as a private user you can use the Business Edition completely free for up to three nodes. The BE offers access control, Git-based stack deployments, and automatic updates. All features you learn to appreciate as your setup grows.

Power consumption

The M920q draws about 10 watts at idle. Barely more than an LED bulb. Under full Docker load with multiple containers running builds, streaming media, and pushing to Git, it peaks at around 35 watts.

For context: a typical used rack server (Dell R720, HP DL380) idles at 80 to 150 watts doing nothing. Over a year, that difference adds up to roughly 100 to 200 EUR in electricity costs at German rates. The M920q pays for itself in saved power within two years compared to a traditional server.

What runs on it

After a few months of iteration, the Docker host now runs:

  • Gitea with a CI runner (my own Git forge with build pipelines)
  • Jellyfin (media streaming)
  • Traefik (reverse proxy)
  • Cloudflare Tunnel (secure remote access without port forwarding)
  • AdGuard Home (network-wide ad blocking)
  • Vaultwarden (password manager)
  • Grafana + Prometheus + Loki (monitoring and log aggregation)
  • CrowdSec (WAF/IDS in front of Traefik)
  • Multiple Nginx containers serving static sites

All of that on a 305 EUR mini PC drawing 10 watts idle. The six cores and 32 GB RAM handle it without breaking a sweat.

Why this works for a home lab

The ThinkCentre M-series machines are built for enterprise desktop use. That means:

  • Rock solid hardware (these run 24/7 in corporate fleets)
  • Excellent Linux/Proxmox compatibility out of the box
  • vPro/AMT for remote management if you want it
  • Abundant supply on the used market as companies cycle their leases

The M920q specifically hits a sweet spot. The i5-8500T has 6 cores (no hyperthreading, but 6 real cores), supports up to 64 GB RAM, and the PCIe slot means you can add a 10GbE NIC or an HBA card for direct-attached storage later.

Lessons learned

Start with Portainer Business Edition. The free three-node license is generous and the Git-based stack deployment alone is worth it. Being able to push a docker-compose change to a Git repo and have Portainer auto-deploy it removes a lot of manual SSH work.

Sell the original components immediately. RAM and SSD prices drop fast. I listed mine the day the upgrades arrived and got 55 EUR back. Waiting a month would have netted me 30 at best.

The NAS stays a NAS. I moved all compute workloads off the Synology and let it do what it does best: store files, run scheduled backups, and serve NFS shares. It is much happier now.

35 watts is the ceiling, not the floor. Most of the time the system idles well below that. My Grafana dashboard shows an average of 12 to 15 watts over a typical week. Only CI builds and transcoding push it higher.

Over to you

If you are running Docker workloads on a NAS and hitting memory limits, or if you are paying 20 to 30 EUR/month in electricity for a tower server that is mostly idle, the ThinkCentre M920q (or its newer siblings M920x, M930q, M90q) might be worth a look.

What is your home lab hardware? Curious to hear what others are running and how you keep power consumption reasonable.

Top comments (0)