The plan was to move the bulk of my server hardware from 19" Rack to 10" to both save space and update to smaller more efficient hardware to reduce power consumption.
Also this allows me to learn and practice some 3d Designing and 3d printing as I am fairly new to both.
Furthermore... The idea of a custom 3d printed Mini Rack is just... Cool.
The main rack framework used as the base for the project is the Lab Rax. I went with this as it is heavily customisable and already had various options available. It was also a larger project that I could use my newly acquired 3d printer for.
The model for the basic design is HERE. Which I printed with 2 sets of the posts as I planned for a 10U rack.
There is both a heat set insert version and a bolted version of this framework. I opted for the heat set insert version.
- The Handles - I had an issue with printing the top handles so I decided to swap to THIS design for the handles.
- The front top corner - I replaced the stock options with THIS and then mounted THIS into it which allows me to gain an extra 0.5u to have a patch panel up top without losing any space.
- The post connectors - I opted for THIS post joiner as it is stronger than the stock option and works well with the next item.
- The side Panels - I went with THIS side panel design to allow for some extra air vents and also allows for mounting some extra equipment to the sides using the IKEA SKÅDIS mounting system.
The bonus 0.5U gained from THIS is used for THIS patch panel which was filled by fitting Ethernet Keystone Adaptors.
This holds a USW-Flex-2.5G-8-PoE using THIS Model. I used the dual passthrough version using 1 side for the DC power adapter and the other is spare for a future plan where I may want to run a PoE connection into the rack.
This holds a USW-Flex-2.5G-8 using THIS Model. Very similar to the model above but it is slightly less deep and for this I went with just the single passthrough for the power cable.
THIS is a custom model that borrows some parts of some other models to have 2 keystone mounts used with THIS cable passthrough. A JetKVM mount and a space for a Beelink S13 mini-PC, Also having a passthrough for the Mini-PC Power connector.
THIS is a similar custom model to the above but swaps out the JetKVM mount for a 40mm Fan mount used with THIS fan filter.
These 3 U's are used for holding 3.5 drives using THIS model which allows for using Dell Standard drive Sleds which I went with for simplicity and better airflow when compared to some other options.
UPDATE:
The drives were running a little warmer than I would have liked and its pretty ideal currently in terms of ambient so I decided to add some extra forced air from the front as the large rear fan doesn't seem to pull enough air across the drives. I replaced 4 of the scerews with standoffs, then used THIS model but customised to increase its thickness and remove its grill. Then added the 140mm version of THIS model to the front together with a ARCTIC P14 Pro PST fan. Ran a fan extension cable through from the keystone passthrough on the U above for power. Then just mounted with some thumb screws to keep the easy access to the hot swap bays. The "3U setup" is slightly bigger but in this situation it does not matter. I did try with a 120mm fan but the coverage of the drive bays was not great so I went with 140mm instead.
The drive temperatures have dropped about 10C from ~45C to ~35C.
This 2u setup uses THIS Model to hold a Mini-ITX computer and a Flex-ATX power Supply. I considered customising it to add a keystone jack for cable passthrough but instead opted to just drill a hole in the stock model for the power cable.
This used THIS model along with 5 of THESE filters.
THIS is for various cable passthrough and easy access to the patch panel on the front of the rack.
UPDATE:
I have added a fan speed controller mounted to this panel. This controls the speed of the 6 40mm intake fans. This was needed due to the noise levels produced by the fans. If temperature becomes an issue I can turn it back up and look for a different cooling setup.
This was originally just a blanking plate, However during deployment it got changed to a patch panel with 4 Ethernet connections to connect to 4 ports on the front patch panel. This is not a 3d printed part but instead THIS patch panel which I had from another project that was not being used so decided to put it in. I may change this out for something more in keeping with the rack at some point.
This uses THIS model to which I then mounted a Noctua NF-A20 PWM chromax.black.swap Fan to the Outside. To which I then attached THIS model to the other side of the fan as a grill. I considered customising for a cable passthrough however opted to just drill a hole in the correct place to pass through the fan cable.
THIS is a custom model which allows for the mounting of a generic power strip I got HERE. It had to be customised as this power strip has an angled back and I wanted to keep it flat on the rear. I then just opted to drill a hole for the power cable.
THIS is just my blanking plate model which is the base I use for building some other models. This U is partially covered by the AUX PDU above it so has limited uses.
THIS is a custom designed model which is actually larger than 1U as it expands downwards to use additional space at the bottom of the Rack. More information about this will be detailed in the Power Distribution Section.
THIS Model is great for adding some cable management to the side of the rack so I printed multiple. Used for routing some cables and also holding cables neatly such as the connections to the JetKVM if it is not plugged into any of the systems.
This is a UACC-Adapter-AC-210W which powers the USW-Flex-2.5G-8-PoE and allows it to have an ample power supply for PoE devices. I Made a Custom Model which can be found HERE that allows the stock wall mounting bracket to attach to it using 2 screws and then it attaches to the SKÅDIS mounts in the side panel. The output DC just feeds directly into the back cable passthrough which is directly behind the PoE switch and for the AC in: I just drilled a hole in the side panel to pass the cable into the rack where it then drops down to the PDU.
This is a UGREEN Nexode 200W GaN Desktop Charger which is mounted using a custom model which can be found HERE to the SKÅDIS mounts of the side panel. There are holes drilled in the side panels for both the AC in and USB out connections to the power supply.
This uses [THIS](https://makerworld.com/en/models/174500-skadis-shelf) Model and a cable tie to secure its cable which holds it in place.
This is for a [Glow IHD](https://www.hildebrand.co.uk/products/ihd-cad) which connects to my smart meters and then sends that data via Wi-Fi using MQTT to my Home Assistant Setup.
This is a SKÅDIS mount for a ZBT-2 which I use for my Zigbee network using THIS model.
There is currently nothing mounted on the right side of the rack, However as it contains the same SKÅDIS mounts as the left site there is flexibility for the future.
Whilst not mounted I did actually print THIS model. This can be used if I want to add my Beelink EQ14 to the rack.
The Housing for the custom PDU was designed from the ground up using FreeCAD and 3d printed.
The Custom PDU uses a C20 socket as the main power input. I already had THIS C20 Connector and THIS C19 power cable from a different project which I was not using anymore so opted to use them when designing my PDU.
The model for the PDU enclosure can be found HERE.
The live connection is then split into 6 and passed through 6 fuse connections to ensure a fuse on each circuit. whilst the neutral and earth connections are fed into connectors to allow for the other circuits to connect to them.
One of the fused connections is then used to power the power monitoring board which was gotten from an Athom 6 CH Energy Meter. The 6 CT clamps attached to the power monitoring board are connected to:
- Main incoming supply
- 5 Fused connections (It does not track the circuit that the board is itself using)
The 5 remaining circuits are used for:
- USB Power Supply - UGREEN Nexode 200W GaN Desktop Charger
- PoE Switch Power Supply - UACC-Adapter-AC-210W
- Mini-ITX PC Power Supply - Silverstone SST-FX350-G
- AUX PDU - Generic 4 Socket Powerstrip
- Unused Spare Connection.
This design ensures that each circuit which would normally have a fuse within its plug (UK Plugs/Sockets are awesome) has a fuse connected on its circuit and also ensures that if a single circuit fails then others can continue working.
The design of the enclosure allows for the extra space at the bottom of the rack to be used instead of being dead space. The top and rear panel are a large mesh to keep things together and prevent accidental touching or damage to mains connections but are large enough to allow for double insulated cables to pass through and also for airflow to pass through that area of the rack. It is not designed to be super secure and hard to get into as long as you are doing so intentionally.
With multiple low power DC devices in the rack it made sense to try and have a single power supply for them all but there is a difference in the voltages needed for different devices. I investigated the possibility of using USB PD/PPS for the devices and using a high quality power supply. I went with the UGREEN Nexode 200W GaN Desktop Charger then created THIS model to mount it to the side of the Rack. I then drilled holes in the side panel to pass through the AC power in and USB power outs.
The USB Power Supply Powers:
- Mini-PC 1 - Via a Generic USB-C PD to 12v DC Cable
- Mini-PC 2 - Via a Generic USB-C PD to 12v DC Cable
- 2.5 GbE Switch - USW-Flex-2.5G-8
- Network KVM - JetKVM
The 2 switches are connected together by their 10GbE ports.
There is a bundle of 8 Cat6 Cables coming into the rack's patch panel.
- 5 are used to connect to various connections around the house
- 1 is used to connect to the fibre ONT
- 2 are spare connections if other wall mounted hardware needs a connection. The 4 extra patch panel connectors connect to 4 ports on the rear patch panel
The mini-ITX system gets 2 x 2.5GbE connections which are aggregated to give a 5Gb connection to the network.
The separate mATX system will also have 2 x connections aggregated together for a 5Gb Connection to the network. Which connect via 2 of the ports on the rear patch panel.
Other devices will run at 2.5GbE (or less depending on the devices max connection rate).
This is a Beelink S13 with dual 2.5GbE ethernet.
- CPU - Intel N150
- RAM - 16GB
- SSD - 500GB
Amongst other things this system acts as the main router for the network with 1 ethernet port connecting to the Fibre ONT and the other to the rest of the network.
This is running proxmox as OS and is used for running network Infrastructure by running:
- OPNSense
- Unifi Network Manager
- Pi-hole
- Uptime Kuma
- Some other network infrastructure and similar applications.
This is a Beelink S13.
- CPU - Intel N150
- RAM - 16GB
- SSD - 500GB
This system is running Home Assistant and anything else related to home automation.
This is running Proxmox with Home Assistant OS running in a VM. Which allows for separate applications to be easily spun up alongside it in their own VM or container as needed.
This system has the main purpose of being a NAS and runs TrueNAS
- Motherboard - CWWK CW-NAS-WL
- CPU - Intel i5-8265U
- RAM - 64GB DDR4
- PSU - 350W Silverstone SST-FX350-G
- SSD (Boot) - 250GB m.2 SSD
- SSD (Additional TrueNAS components) - 1TB m.2 SSD
The system has 6 x 3.5" Drive bays connected to it. Currently 4 of these are used by 28TB Seagate Drives in a ZFS RAIDZ2 array. This allows me to add 2 more drives to the array to increase storage as and when required.
This system is what powers and controls the 7 fans on the rack.
This system also runs Frigate NVR as a TrueNAS App which is just a container. This allows for the system's integrated GPU and also a USB Google Coral which is attached by the system's internal USB port to be passed to the container. The App itself and its cache runs from the secondary SSD and the main recordings are stored on the main array.
I was on the fence about putting Frigate on this system too but opted to test it and it works out pretty well for the small amount of cameras that I have. It also also depends on that system for storage anyway so it being on it does make sense.
On the back the 2nd U which is currently a partialled filled patch panel may get cleaned up and repurposed but I am not currently sure of the exact plan.
I may at some point install a KVM to sit between the systems and the JetKVM so multiple systems can be switched to without physically moving the cables.
The 40mm fans are a bit loud and control from the Mini-ITX system appears to be limited so I may add a separate fan controller for the rack fans that will give me more control. I will see how temperatures go in production for a while and if any other issues crop up before I tackle this one though.
I have have added a fan speed controller mounted at the top of the rear of the rack to allow me to turn down the 6 40mm fans. This solves the noise issue but will have to see how temperature goes.
Currently I am using a Seperate mATX case next to the rack to house a GPU containing Server which is used for transcoding and LLM running. I would like to maybe add a 2nd mini rack to sit next to this one and that includes a GPU system and also maybe a UPS. This is something I will investigate in the future potentially when the component pricing issues that are currently being observed. Adding a mATX tower next to the rack was the easy option for now. This system was put together with various parts from my old setup.
The current spec for the separate mATX system is:
- Motherboard - GigaByte H510M H
- CPU - Intel i3-10100T
- RAM - 32GB DDR4
- GPU - Nvidia 5060ti (16GB VRAM)
- NIC - Dual 2.5GbE PCIe card.
- SSD - 4TB 2.5" SSD
- OS - Ubuntu Server
All the printing done for this project was done on a Bambu Lab P2S and used a combination of PLA Basic and PETG HF filament.
There was no real hard and fast rule for which material was used for which part. However in general If I felt the part would want some more flexibility or would potentially be subject to more heat then I would have leaned towards PETG, whereas if it was a more basic filler part then using PLA for a quick and easy print was what I would lean towards.
All custom 3d modeling was done using FreeCAD. There are various options for modeling but this is just the one I picked when I started. Whilst It is slightly dated and uses an older version THIS video Series was a great guide where I learned the basics (I only needed a few videos to give me the basics of what I wanted to do)
- Lab Rax - https://the-diy-life.com/introducing-lab-rax-a-3d-printable-modular-10-rack-system/
- Lab Rax (Video) - https://www.youtube.com/watch?v=ZTmmEv9irbM
- Bambu Lab P2S - https://bambulab.com/en-gb/p2s
- FreeCAD - https://www.freecad.org/
- Jeff Geerling's Repo about Mini Racks - https://github.com/geerlingguy/mini-rack