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) |

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] !