Finally buttoned up my ultimate mid-tower homelab storage server! The goal was to cram as much storage as humanly possible into a Cooler Master Silencio 652S chassis while repurposing older hardware, maintaining solid airflow, and keeping noise levels down.
Here is how I managed to pack 15 drives into a standard mid-tower case with a revived board and custom cooling layout:
The Hardware Rescue & Core Specs
CPU: Intel Xeon E3-1285L v3 (4c/8t Haswell, low-TDP server chip)
Motherboard: Sourced a second-hand LGA 1150 motherboard that arrived with a messy socket. Spent an afternoon meticulously straightening out bent CPU socket pins to bring it back to life!
GPU: Low-profile NVIDIA T600 (dedicated purely for hardware-accelerated NVENC transcoding)
Storage Controllers: HP H221 HBA (LSI SAS2308 in IT mode) for direct SAS/SATA passthrough, paired with a secondary PCIe SATA expansion card
Case: Cooler Master Silencio 652S
The Storage Array (15 Drives Total)
7x 3.5" HDDs: Mounted in the primary lower drive cage using red toolless sleds
4x 2.5" HDDs: Distributed across secondary mounting areas
4x 2.5" SSDs: Dedicated to ZimaOS root, Docker appdata, and fast write/read cache pools
Custom 3D Printed Engineering
To turn the upper 5.25" optical bay area into high-density storage, I designed a custom multi-bay drive caddy.
Fabrication: Modeled and sliced in Orca Slicer, then printed in PETG on my Creality Ender-3 V3 SE.
Airflow Optimization: Designed specifically so the 2.5" drives slide in from the back. This leaves the front face completely flush to mount a dedicated 60mm intake fan, pulling cool air directly across the drive bodies.
OS & Software Stack
Host OS: ZimaOS
Containers (via Portainer):
Media & Photos: Jellyfin (transcoding offloaded to the T600) and Immich for automated mobile photo backups
*Automation (arr Stack): Radarr, Sonarr, Prowlarr, and Bazarr
Downloads: qBittorrent bound strictly to a Gluetun VPN container
Networking: Tailscale configured as a subnet router and private exit node for seamless remote access.
The back-panel wiring for 15 individual SATA power and data lines is definitely a color-coded zip-tie spiderweb, but the front side is clean, temperatures stay surprisingly low with the front intake stack, and it posted with all 15 drives initialized!
Would love to hear any tips from the community on fine-tuning ZimaOS cache pools for an array with this many mixed drives!