geerlingguy / geerlingguy/mini-rack

Mini Rack --> Rackception

Open
#37 1 comment 7 reactions 0 assignees View on GitHub
build showcase
Dominant language
No language data
Stars
3.9k
Forks
102
PR merge metrics
No merged PRs in 30d

Description

![Image](https://github.com/user-attachments/assets/a59d3333-09f3-421c-9341-f68b1b22ad1c)

## Description
About a year ago I started working as a software developer full time, and got very interested with high availability VMs, containers, production software deployment, networking--the things that they never teach you in school for CS but matter a lot as a professional. I wanted a way to toy around with VMs, Kubernetes, Software Observability, and Networking without breaking my home network. Enter the Minirack!

### Project Goals
- Provide high-availability virtual machines for personal learning, self-hosted services, and personal software development projects
- One power connection into the wall and one ethernet connection into my ISP router
- Finally find a use for a Raspberry Pi 4 I bought in college and never used
- Small and easy to move since I live in and apartment and might move soon

### Hardware (Top to Bottom)
- Ubiquiti PoE Access Point
- Mikrotik Hex S Router
- Ubiquiti 8 PoE Gen1
- DeskPi 12 Port Patch Panel
- Raspberry Pi 4B (Pihole, Tailscale)
- 3 x Lenovo M720q (Proxmox Cluster) w/ I5-8500T 16GB RAM, 256GB NVME, (1TB SATA SSD in one node for a TrueNAS VM)

### Issues
I had so much fun with this minirack project, but there were a few main issues that I ran into. Firstly, I do own a 3D printer, but the bed size of my 6 year old [Monoprice Select Mini V2](https://www.monoprice.com/product?p_id=34620) was too small to print any 10 inch brackets without splitting the print up into 4+ pieces, which led to bad structural integrity. The DeskPi shelves are priced reasonably enough that it made more sense to buy 4 rather than upgrading my 3D printer. I was able to print some small brackets to hold the Lenovo power bricks which were extremely useful to prevent cables dragging on the ground behind the rack.

The next main issue I had was storage. I initially only had 1TB of NAS storage, and I had no idea how quickly 8GB DVDs add up to 1TB, so I blew through 70% of my storage capacity within the first lot of DVDs I got on Ebay. I kept looking for a NAS solution to pack 10+ TB of redundant storage without spending thousands of dollars. One product I really wanted to try was the [LincPlus LincStation N1](https://www.lincplustech.com/products/lincstation-n1-network-attached-storage), a 4-bay NVME 2-bay 2.5" SATA NAS device that measures in at roughly 8.5" x 6" x 1.6" which should fit perfectly on a 1u 10" shelf, but I don't need more than gigabit networking, NVME storage is very expensive in high capacities, and there's little room for expansion. For cost and expandability reasons, I came up with an alternative solution: **_Rackception_** (shoutout GerlingFAR on [Jeff's Reddit Post](https://www.reddit.com/r/minilab/comments/1i1o4xm/rack_in_a_rack/) from a few days ago for the name)

## Rackception
![Image](https://github.com/user-attachments/assets/a73deec6-cdca-4f93-8864-5ef976342bf7)

Using a cheap 4u OEM server chassis I found on ebay, some recycled gaming PC hardware for 5-6 years ago, alongside some 12TB drives, I built a dedicated TrueNAS machine with expansion for days. Using the 10" rack on a shelf of the larger 19" 15u Rack, I was able to rack my ISP router and give my laptop and steam deck a permanent place to charge. Additionally, I was able to design a small bracket to more permanently mount the DeskPi rack to a 19" rack, alleviating most of the shelf's bending ([Onshape Model Link](https://cad.onshape.com/documents/e4522d1b3b69e0c4dd56bc75/w/09744e12c92118a4731d30f1/e/15e05a1aea77d4ace4081645))

## Future Plans
The future of this project is mostly software-driven. I've been really enjoying Proxmox as a hypervisor, and I want to learn Ansible and get a better grasp of Kubernetes. Another thing I've been considering is adding a GPU somewhere to bring up a Game Streaming server to use with my Steam Deck.

## Additional Pictures
_Rear of Minirack with 3D printed brackets to hold the power bricks_
![Image](https://github.com/user-attachments/assets/19a05e53-abe1-4a8b-910b-d9b67aaf30dc)

_3D printed Bracket that secures the deskPi to the 19" Rack_
![Image](https://github.com/user-attachments/assets/ea99f1f4-70a9-4b8e-8ea7-e22e2a84721d)

Contributor guide

No contributing guide indexed for this repository

Research direction

This issue is a project write-up describing a physical homelab and future plans, with no repository file, test, or software entry point identified. There is no defined change or completion criterion to research; a contributor would first need the maintainer to specify an actionable documentation task.

Written by the indexing model from the issue text.

Assessment

Tech stack
ansible, kubernetes, raspberry-pi
Domain
infrastructure
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.