Running Openshift at Home - Part 2/3 DIY Silent Server Cabinet

Part 2/3 - Building a Silent Server Cabinet

Part 1 Hardware

After sourcing the hardware for my homelab, it's time to deal with the shelving and the noise problem. I also needed a place to put all these servers in a way that the wife does not complain about the the looks and the noise. It has to also blend with the color theme of the house which is while, black and gray. In other words, I need to build a server cabinet with high WAF (Wife Approval Factor).

Et voila! I did it!

Bill of Materials

IKEA Parts

 Non-IKEA Parts

Tools Required 

Joining the Frames 

The very first thing i did was to assemble the Besta frames and join the 2 frames together with flat metal brackets and drilling the ventilation holes using a hole saw. The original plan was to put vent at the bottom only so it that it's not visible. But this has changed later on and you will see why. After drilling those ventilation holes, i also learned that these materials are actually hollow. It's made of two 5mm MDF boards with paper filling. Basically the insides are made of 90 air and 10 percent paper. That's how IKEA made this things cheap.

Attaching the Doors

There are two doors, one in front which is made of glass and aluminum and another one in the back which is made of wood. In the original design of this frame, there is supposed to be an MDF board that goes in the back. This board helps the frame stay square and not skew. But because I did not put it, i have the skewing problem especially after the doors are attached. They are also quite flimsy without the backing board and will definitely not hold 80Kgs of servers. So my solution was to use angle brackets.

The two holes in front is the air intake while the two holes at the back are the exhaust where the exhaust fans will be attached. You will also notice that in the bottom shelf there is a cardboard separating the front part and the back part of the cabinet. This is so that the air does not just flow directly from intake to exhaust. The cool air will be forced up to the server front panels.

The bottom panels of the BESTA frames has 4 M8 threaded holes where you can simply screw down any M8 caster wheels.

Noise Test

Before finalizing the ventilation part, i decided to test the noise how much noise will it block when the doors are closed. One good thing about the material being almost hollow is that it makes it a good sound insulator. Here's a short video of the initial noise test I did. The noise-damping quality is pretty effective.

Cable Management

I drilled a 60mm hole in one corner of the back door for the cables that will come out of the cabinet. I tried not to drill holes in the main frame anymore after learning about what it is made of. I tried not to weaken the structure. I used trunking cable duct to organize the network cables.


Rack of Shelves?

Before I decided to use IKEA shelves, I have been thinking of using rack rails because they look cool. But after mechanical thought experiment, i realized it wont work. If the servers are attached to rack rail, the total weight of the servers will be concentrated to the rack rail which will then put too much pressure on the cabinet floor. This may create dents or probably a hole considering that this material is hollow. So I decided to go for the standard IKEA shelves. 1U servers fit perfectly in these selves. 2U servers are little shy. but still workable. I could punch a new hole though instead of following IKEA's standard shelving holes. But it's not a big deal so I just followed the pre-made holes for the shelves.

According to IKEA's specification, each of these shelves can holed up to 20KG. Oh yeah? But these server weight almost 30Kg! Relax, you got 2 of those shelves holding the server. One in front and one in the back side. So each shelve is only holding less than 15Kg of weight.

Thermal Experiments

I snicked a digital thermometer inside the cabinet without the exhaust fans and observe the thermal behavior for a few days. Here are my findings.

  1. When the room air conditioning is not turned on and both cabinet doors are closed. It only takes 3 minutes before the server fans become wildly loud and 6mins before the servers starts compailing with thermal warnings.
  2. When the room air conditioning is ON while the cabinet doors are closed, it does not make a lot of difference. This is because the hot air inside the cabinet has no way of getting out. Although there are exhaust holes at the bottom, hot air goes up and they build up at the ceiling of the cabinet.
  3. When the both the cabinet doors are fully opened, there are no thermal issue at all, except they are too loud.
  4. When only the back door is closed while the front door is open, the thermals are not too bad.
  5. What was surprising was when the back door is open and the front door is closed the temperature goes up rapidly. I assumed it would be better because the hot air comes out at the back of the server, so opening the back door should be good. But it did not behave as I expected. It's worse than scenario 4. It took me a few days to understand why. Later on, i figured it was because the hot air from the back of the server is getting sucked back into the server chassis. This also tells me that the front intake holes are not big enough.
  6. Putting exhaust fan at the bottom exhaust holes did help a little. But still not enough to close both front door.  


Table Top

While the thermal experiments goes on, the family had a trip to IKEA and this is where found the LINMON table tops and decided to get one. The table top helps hide the slit between the two frames and also set the height of the cabinet into a standard desk table height. The table top also makes very good place to work on the server hardware. It also hides the messy cabling behind.


After learning things from the thermal experiments, and after receiving the right exhaust fans I ordered online. It's time to fix the ventilation. I made a rectangular hole in the back door using a drill and coping saw to fix three 120mm fans. These fans has variable speed control which is very helpful fine tune the balance between noise and thermals. I have also covered/patched the original exhaust holes at the bottom because this is causing the hot air to be sucked backed in the intake hole. I have added more intake holes in front after finding out in the experiments that it was not enough. And finally put a proper temperature sensor with an attached buzzer that make annoying noise when the cabinet temperature goes above the set limit. The current set limit is at 40 degrees celsius and it has never triggered the buzzer even when room air conditioning is turned off. The temperature controller is also very helpful to fine tune the right exhaust fan speed that makes the cabinet not too hot but also not too noisy.

This was the final part of the build.

Next Up

I went beyond the original budget of the project but, but that's OK. As long as the wife approves the build, all good. So now that I have the hardware and the cabinet setup, it's time to dig on the software side. The next part of the series is about installing Openshift.

Running Openshift at Home - Part 1 Hardware

Part 1/3 - Building a Home Lab

Part 2/3 - DIY Silent Server Cabinet

This is a series of post from building the hardware infrastructure that you can run from the comfort of your home to running you first application in Openshift 4.5/OKD4.5.


About a month ago I decided to build a homelab with a motivation of running my own Openshift cluster at home so that I can build and deploy applications to rapidly test ideas but also to develop my knowledge in Openshift. Previously, I have been running my experiments on the cloud and it has cost me quite some $$ with monthly bills ranging from $80 to $250. This is another motivation factor.

So if I could run my experiments on a homelab that cost's less than $1K with only additional $20 a month on electricity bills, I would call it a success. 

Disclaimer: I am not a systems engineer. My day job is a Software Architect, I design and build software solutions.


Some homelab setup of people I know cost thousands of dollars using Intel NUC computer or some desktop grade computers using multi-core AMD Ryzen CPU. This is beyond the budget my wife has agreed for this project :). So I did some google search and learned about this Reddit forum where people are mostly using old servers discontinued by manufacturers and have been disposed off from data centers. There is quite a lot of these listed on ebay. For less than $300, you'll get an enterprise grade server with 8 to 12 physical core which is amazing!

There is just one caveat though. There servers are not designed to be run at home. They are designed to sit in data centers away from people therefore, noise was not taken into consideration in their design. These servers are very loud. But this did not stop me as I am already thinking of a solution to the noise problem. In the above photo, the entire homelab infrastructure is enclosed in an IKEA BESTA cabinet which I will talk about in more details in another post.

Being in Singapore, ebay or amazon is not really an option. These servers weighs upto 25kg. Shipping cost would have been more expensive than the item itself. Thankfully, we have Carousell in Singapore. When I searched for "used server" i got a few results and this is where I bought all my servers.

I used 3 servers for more compute power plus redundancy but it's not mandatory. It's totally fine to start with one server. The 3 servers and the network switch were sourced from Carousell. A quick search for "server" keyword in Carousell gives you this kind of result.