DIY Server Cabinet
This is a project designed for homelab enthusiasts who would like to build their own server rack cabinet enclosure. It has ports to mount fan modules to provide airflow - and also has spaces designed for LED lighting. Noise levels are greatly reduced using heavy paneling and sound insulation.
Specs:
- Final size.
- Length: ~ 44" / 1126mm
- Width: ~ 25" / 976mm
- Height: ~ 39" / 625mm (Also add caster height)
- Rack spaces: 20U
- Rack depth: ~30in (774mm)
- Weight: dang heavy
Supplies
Attached is a PDF with diagrams for all the frame and panel pieces.
Frame and Panel construction supplies:
- Rack Rails.
- I looked at several options but ended up choosing NavePoint 20U. There are other brands and sizes - it should be feasible to adjust the frame dimensions accordingly to support any other size.
- Warning: A notable issue arrived when trying to mount horizontal 4-post rails for heavy equipment. These vertical rails do not have enough clearance on the backside to fit the rail's bracket face to line up with the screw holes. It was off by 1 or 2mm, so I modded the rail brackets with an angle grinder to remove just enough material without hitting those screw holes. Having to mod the rack rails might have been a deal breaker if I was going to do this again. It is possible to attach these rails on the front side if the mounting screw holes line up correctly! If you know of a better option (special rack rails?) that avoids this issue, please let me know.
- Plywood or Lumber for frame
- One 4'x8' panel will be more than enough material, but 4'x4' is not quite enough.
- Use a linear cut calculator such as optiCutter to plan the cuts.
- If gluing your pieces together out of plywood, set the with to 40mm and double the count for the layout.
- The frame has these pieces that are 36mm x 36mm x ...:
- Rail: 591mm x 8
- Depth: 1126mm x 4
- Outer Stile: 907mm x 4
- ... and these pieces which are 54mm x 36mm x ...:
- Inner Stile: 907mm x 4
- (Triple the count for these for the layout calculator)
- MDF or Plywood for panels
- Two 4'x8' panels - your choice of thickness. I used 3/4" MDF which is very heavy and bulky, but it will certainly absorb fan noise.
- Use a cut layout calculator such as optiCutter to optimize the cuts.
- Panel Top: 1126mm x 625mm
- Panel Side: 1126mm x 976mm x 2
- Panel Bottom: 1126mm x 591mm
- 1" Lumber and MDF for doors
- ... or whatever you'd like to make the doors out of. I used 12mm MDF, but probably should have chosen a slightly thinner variety
- Height: 961mm x 66mm x 8
- Width: 180mm x 173mm x 8
- Top Panel: 180mm x 180mm x 4
- Bottom Panel: 437mm x 180mm x 4
- Casters (4 pcs). I used 3" like these
- Door hinges. I used these from Salice, but had to shop around for a good deal - found one on overstock, but it's no longer available
- Wood Glue
- 3" #9 construction screws x 16
- Hardware to mount the panels. I used 1/4-20 Threaded Brass Inserts from E-Z LOK along with 1/4 bolts like these. I also added some aluminum tubing3/8" OD x 1/4" ID cut to the thickness of the MDF to insert when mounting the side panels.
- Long-ish 5/16" bolts for mounting the casters, along with washers and nuts. Got these at the home center 8 pcs.
- Mass Loaded Vinyl 4'x10' - optional! This is attached to the inner side of the panels to capture more noise.
Tools
- Saw(s) for accurate cuts of the wood. I used table, miter, jig, and track saws in this project.
- Clamps - see the photos for what I used, but adapt to whatever is available to you.
- Router table - I used this to get pretty precise depths for the rabbets and dados. This could also be accomplished with chisels, files, and some workmanship.
Module supplies:
- 12mm plywood for base, 1" wood for the sides. Dimensions are 519mm x 140mm x 4. See the diagrams.
- Brackets to attach modules to the frame. I used 4 of these. You could also make these out of wood or aluminum. Or figure out an better way to attach them!
- The plywood for the baffles 5mm thick. This has a slightly smaller dimension to the base, and cut so that it can be held in place by the bracket. I attached mass loaded vinyl to these using 6-32 machine screws, washers, and nuts.
Electronics supplies:
- ESP32
- LED Lighting
- Door sensors
- 120mm Fans. I used 4 of the ARCTIC P12 PWM PST and 2 of the higher RPM ARCTIC P12 Pro PST in the front to create a positive pressure in the cabinet.
- 120mm Fan Filter Grills. I used these.
- Wire. I used 22 gauge 4 conductor. This worked well for the 4 pin fans - and also for the powering the LEDs and connecting the door sensors using the same wire.
Downloads
Frame Diagram
Review the frame dimensions and cuts.
Frame Construction
I used 18mm Pine Plywood for the frame materials. After ripping long strips of it to about 40mm, glue these together. Use lots of clamps!
The Inner Stile pieces are three pieces of plywood thick - so for these, glue an additional strip on.
Joint and/or rip the boards to 36mm square.
I was originally going to use southern yellow pine, but had just enough plywood left over from another project. 2x4" pine cut to size would probably be fine too.
Frame Construction - Rabbets and Dados
Cut the rabbets and dados as per the diagrams. Check the fit against the corresponding pieces. I used a combination of cross cuts on the tablesaw, sometimes using a dado stack, and getting the final depth using the router table.
Frame Construction - Adjustments
Oops! Cut this one a little too wide - got a piece of scrap and glued it in place to try again.
A chisel can be used to match the exact dimensions if needed.
Frame Construction - Top and Bottom Assembly
First assemble the top and bottom portions of the frame. With this interconnected joinery, I had to just check that everything was aligned and didn't end up needing to clamp anything square at this step.
Also double check the upright stiles will fit correctly! Mark the pieces that fit together.
Frame Construction - Measure Twice
Verify the width between the inner stiles is exactly 19" and that the rack rails are the same height as the stiles.
Frame Construction - Cleanup
Now is a good time to patch any imperfections and to sand down the frame.
Frame Construction - Test Fit
I first did a test fit with clamps to ensure the frame fit snuggly. This is a great time for any last minute adjustments. Clamp on the rack rails and mark the exact spots where they'll be mounted.
Frame Construction - Rack Rail Holes
Drill the holes and counterbores to mount the rack rails onto the stiles. The width of the counterbore was based on the size of the wrench socket that I'd be using to tighten the nut, and the depth was based on how thick the nut and washer are. I used a 1/2" Fostner bit to drill these - it provided just enough space to ensure I could secure the bolts in place.
Frame Construction - Glue
Glue the top and bottom frame pieces together separated by the stile - definitely clamp in some square references in some corners to ensure everything is lining up as intended! I glued the left side first, and then spun it around to glue the right.
Frame Construction - Mount the Rails
The machine screws I had were too long - I marked the needed length and then trimmed them with a hack saw. If you attach two nuts to the screw, this can help keep it in place while its mounted in a vice while cutting.
Frame Construction - Caster
I attached the casters using two machine screws through the bottom frame - I'm pretty sure I ended up using 5/16" bolts. These were also counterbored on the rail piece to avoid blocking any rack hardware later. Mark the mounting holes for the casters and drill pilot holes and the counterbore. I believe I may have waited until the Panel Bottom piece is clamped into place to drill the final holes for the bolts.
Frame Construction - Metal Support
Each joint of the frame gets a 3" #9 construction screw in addition to the glue and joinery. Glue is good, but metal strong.
Frame Construction - Clean Up
I rounded out the edges all over the frame and gave it a good sanding to 180 grit.
Panel Construction - Cuts
Now that the frame is assembled, double check all the measurements for the panel pieces before cutting.
Panel Construction - Mount Hole
I used some long clamps to align the panel to the frame. In retrospect, I could have just used some offcuts and small clamps all the way around! Now mark all the mounting holes - I did one on each corner of the rails, and then two into each inner stile. Double check that none of these points will interfere with any of the other hardware. Finally, drill pilot holes for reference points on the frame to put the threaded inserts. Mark the panels against the frame so that they can be placed afterwards.
Panel Construction - Threaded Inserts
Now that all the panel mount points are started, drill the holes for the threaded inserts and install them in the usual way. I also used aluminum tubing pieces to insert into the left and right panel mount points to guard against wear against the MDF. I ended up using them for the 4 corner holes.
Panel Construction - Casters
Attach the sides and top, and then flip it upside down to drill the final caster mounting points. Again, use some clamps against the frame to align the panel while doing this.
Panel Construction - Side Support
These panels are heavy and difficult to maneuver - I added some off-cuts flush with the lower frame depth piece on the left and right panels. This will allow it to be positioned in place more easily while attaching it later. Note that the frame is in the upside down orientation while putting these on!
Panel Construction - Module Holes
I penciled in the frame geometry from the inside onto the top and bottom panel pieces to mark the locations for the module holes. The cuts were first done with a jigsaw, then after the panels are re-mounted, the cuts are completed with the flush trim bits on the router. The corners are squared off with a chisel.
Cabinet Finish
Color scheme was inspired by a classic computer console. The steps I took:
- filled some voids in plywood using glue and sawdust
- sand to 180 grit
- smoothed out exterior facing plywood edges with a bit of spackle and more sanding
- prime with one or two coats
- the colorful top coat
- add a layer (or two) of water based polyurethane.
Cabinet Sound Insulation
I also added some mass loaded vinyl on the interior panel pieces. First, with the panels still attached, I marked all the interior locations where the vinyl could be placed. After measuring these, I entered the values into the linear cut calculator (optiCutter) to plan the cut strategy. A utility knife and a straight edge worked great to tackle these cuts. I attached them using a staple gun - and perhaps a final persuasion with the hammer if the staples didn't get fully seated.
Module Construction - Fan Holes
I used a 3d printed template to create mounts for 120mm fans. First mark all the fan hole locations and corresponding bolt mounting holes. Then use a jigsaw to remove the bulk of the material. Attach the template to the board using tape on each each surface, and then CA glue those together. Use a flush trim bit with a router to finish these cuts. I also routed out a shallow rebate into the wood to seat the fan. Test the fit before finishing! I had to remove some of the side material from the modules to allow them to slide into place - see the photos below.
Module Construction - Fan Mounting
Mount the fans into their positions with the grill on the exterior. I may go back and add a filter at some point. To attach to the frame, I used some metal brackets. I added a 1/4" hole in each of the brackets to align with a threaded insert on the frame to bolt it into place.
Door Construction
I used a simple shaker style design for the pair of double doors. To help to keep noise and airflow contained, they were cut to overlap by 20mm to provide a lip where they meet. Simply cut corresponding rabbets into each piece to achieve this effect. The hidden hinges also need some holes drilled with a Fostner bit. Be extra careful about the drill depth so as to not go through the opposite side!
Door Mounting
I used some scrap wood to help hold up the doors while mounting. After these are in secured in place and aligned, I added some weatherstripping between the frame and door.
LEDs, Door Sensors
LEDs were cut to fit on the inside length of the outer stiles, right next to the doors. This gives a good amount of light in the case while remaining out of line of site. I mounted the door sensors at the top of the door sets, and added wiring to the lower-back module location where the control board will be installed. I added some through-holes into the frame to run wires through. I'd highly recommend taking off the panels for these steps!
Fan Modules
Here are some close-ups of the fan modules. The in-flow is mounted in the lower-front, and out-flow is mounted in the upper-back providing air flow throughout the cabinet. The plans also include removable baffles that can be slid in under the bracket to further capture noise. I attached mass loaded vinyl pieces to these using 6-32 machine screws. They do sit right above the fans... but there is clearance and space for the air to be pushed through.
Assembled
Here's a shot of the cabinet fully assembled - well, except for the fan module in the back :)
Mounting Rack Rails - WARNING
Please see the warning in the supplies section - but here is a photo of the rack rails for a UPS installed after I trimmed them with an angle grinder.
Electronics
I'd strongly recommend installing any electronic components and running the wiring while the panels are off. Especially if you want to drill some channels for the wires - I decided I wanted this after putting on the bottom panel and caster wheels and had to undo/redo that to have drill access.
I chose to have all the electronics powered and controlled from a single board. This takes a 24V DC input and has two buck converters to bring that down to 12V for the fans, and 5v for the microcontroller. It includes inputs for two door sensor to independently control the LED lights in the front and back. It also includes a temperature sensor used to drive the fan speeds.
Here is a link to plans and KiCad source for the control board PCB along with links to the components.