soderlind.dev

Mini Homelab Part 1: Raspberry Pi + Dell OptiPlex in a 10-inch Server Rack

I’ve been wanting to have my own homelab for a while, and after moving to a new apartment it was finally time.

I happened to have a dell mini pc, two rpi:s and an external HDD lying around so I thought it would be nice to gather all these components into one single unit. See below for a breakdown.

Machine CPU RAM Storage OS
Dell OptiPlex 3040 Intel Core i5-6500T — 4C/4T, 2.5 GHz (Skylake) 8 GB 500 GB internal SATA HDD (Toshiba MQ01ACF050) NixOS 26.05
Raspberry Pi 5 Model B (Rev 1.1) Broadcom BCM2712 — quad Cortex-A76, 2.4 GHz 16 GB 32 GB microSD Debian 12 (bookworm)
Raspberry Pi 3 Model B (Rev 1.2) Broadcom BCM2837 — quad Cortex-A53, 1.2 GHz 1 GB 16 GB microSD Debian 13 (trixie)

GeeekPi 4U server rack holding the Dell OptiPlex, two Raspberry Pis and an external HDD

These are all fitted (awkwardly) into a GeeekPi 4U Server Rack. Due to cost of shipping I ordered it from Amazon instead of the official site (since they ship from the UK I believe). Here are (affiliate) links to the parts I ordered from amazon:

GeeekPi 4U Server Cabinet for holding eveything.

GeeekPi 10 inch 1U SBC Rack Shelf for mounting 2 raspberry pi:s.

GeeekPi 10 inch 1U Rack Shelf For putting the external HDD on top of.

There is a possibility to 3D print a module for the Dell OptiPlex but that’s for the future.

I run NixOS on the Dell since I love the philosophy of Nix with the Architecture-as-code approach, it fits perfectly for a usecase like this.

For network security I run Tailscale, which creates a private tunnel for me and anyone whom I let access the network. It makes on-boarding friends/family a bit more painful since they have to install Tailscale on any device they want to connect, but it’s definitely worth it. Especially these days when automated ports-scanners and bots are getting more and more sophisticated. A bad zero-day or supply-chain attack could potentially expose a huge amount of open servers. There are still risks of course, but cutting of access from the open internet is an easy way to mitigate attack surface.

For monitoring I run Prometheus with alertmanager. The alertmanager hooks to a Telegram bot so I can get notifications anywhere if anything is anomalous. There is also a Grafana dashboard to visualize trends over time.

For file storage there is a Nextcloud instance.

For backups I run Restic Backups every night against the external HDD as well as a Hetzner S3-compatible bucket on the cloud.

For media like TV, movies, and books I run a Jellyfin server.

I would like to make one of the rpi:s into a LLM agent gateway (with minimal permissions), such that I could chat about certain states of my server and homelab that I choose to expose. There are some security concerns here, and the absolute best case would be to self-host a local model. Sadly with the current economy it seems like a bad idea to invest in physical compute at the moment.

Send me any thoughts and recommendations at [email protected] !