When you think of running servers in a container, your mind automatically thinks Docker, Kubernetes, and the giant ecosystem around containerization. Well in this context, I bought a whole shipping container.
It all started when I was looking to buy a house, I had discovered a town in rural Colorado that had 100% fiber coverage. Before that I was in a a Colocation data center that was not meeting my expectations. Ultimately, I ended up getting a house with a decent amount of land associated with it. The initial plan was to just put the servers in the basement of whatever house I ended up getting, but when I ended up getting a house in this area, it lacked a basement. So next option was to put the lab out in a shed, but even that presents some issues. Namely the need to deal with vapor barriers and and tight insulation envelops. So the next best option was a shipping container. The shipping container presented a couple of other benefits, presented by the fact that its a giant steel box. It is fireproof, it has a decent resistance to hail damage, and it has a strong base to support heavy racks of equipment.
So where does one end up getting a shipping container, well it turns out there is a website for that. I ended up going with a broker who took care of the purchase and delivery of the container. The container came on a drop trailer, and they rolled it off in my drive way. Unfortunately I don't have any of the pictures of the process of moving it from the drop point in the driveway to its final resting spot for now. Ultimately I just used some soft shackles to go through the lifting eyes and a snatch block attached to the winch line of my truck. This proved to be effective in moving the container. The ground where it was being moved is hard enough that it managed to not dig it's self in super deep, and thus did not over load the winch with pulling excess dirt with it.
Now comes the fun part, the electrification of the container. The ultimate goal was to have this container be fully self contained, which meant it would be getting its own sub panel. I opted to do a 100 Amp panel, with 2 Gauge feeders off my main panel. The container would also have four, 4ft ground rods driven in around it, this would serve to bond the container to earth, as well as provide adequate grounding to the equipment inside. This had the unfortunate side effect of turning it into a faraday cage, and makes getting cell service in the container interesting.
The next question is how do you attach a panel and all the requisite EMT conduit to the container. Turns out the old boards from the fence I tore down a month earlier would come to serve that purpose.
This method of attachment proved to securely attach the needed electrical bits, and maintain attachment requirements per electrical code. Now the fun part, running to Lowe's and getting all the EMT conduit. In total I would purchase about 100ft of 1/2in EMT conduit, and 50ft of 1in PVC conduit. I also would have to get 2in EMT for the conduit ladder that carries the main power feed for the container.
Now for some glamor shots of running the conduit, I unfortunately did not have my conduit bender with me so I was unable to do kick outs for the panel.
In total I ran about 200ft of Romex for all the various power drops in the container. The focal point for power though would be the two 240v receptacles for the rack. I installed 1x 20Amp 240v receptacle with a Nema L6-20R plug, and a 30Amp 240v receptacle with a Nema L6-30R plug. Only the 30Amp power feed is in use, the 20Amp is saved for later expansion.
Now time to start getting power from the house to the container. The original plan was to trench this all underground, but due to the location of my gas main, this was not possible, so next best option was is to put it all on a conduit ladder. I built the ladder out of Superstrut and 1"x1" box tube. The span that needed to be covered was 12ft in length.
Now its time for Fiber! Although I might have teased it in earlier pictures, for this initial implementation, I ended up pulling 4x OM3 Multimode pairs. Unfortunately since I lack a fusion splicer, I had to settle on some really long fiber patch cables. 50 meters if memory serves right. The fiber needed to be protected all the way from the container to the switch stack in the house. So for the exterior runs I used 1" Schedule 80 PVC conduit. For the runs in the attic, I used 1" sprinkler feed line. I could get away with doing this because of several reasons. First being this is not current carrying, so many of the code rules can fly out the window. Second, I did not need plenum rated coatings, as this was going in an attic, with no means of gases in the event of a fire getting to the living space. Finally the sprinkler feed pipe has a thick enough wall, that it is nearly impossible to crush under normal circumstances. I ran the pipe along the rafters of my roof, so it would be out of the way for future projects.
Now that the container was equipped with all the needed things to run servers, there was just one last thing to tackle. Cooling. Cooling is one of the areas where you can burn a lot of power. Fortunately, I live in a very dry climate, so I can leverage evaporative cooling. Or swamp cooling for short. This method has proved effective, with the highest temperature being recorded in the container being 78F (25.5C) all while using less that 300Watts of power.
This evaporative cooler is rated at moving 5000CFM of air. I came to the conclusion of 5000CFM being adequate for my needs based on the volume of the container. The overall volume is just under 1100Cubic Feet, that means I am recirculating the air over 5 times a minute, which means my gear stays nice and cool. The overall water use has also been negligible, using just under 35gallons of water a month.
Now where are we going to push all that air. I needed to vent the container somehow, and turns out, a metal gable vent was perfect. I sized the vent to be as close to a 1:1 match to the swamp coolers air outlet, in the end it was more of a 1:1.1 ratio, but it still keeps the container adequately pressurized to keep the dust down.
Finally with cooling, fiber, and power, its time to get some gear in this container. For the occasion, I decided to also get a new 42U rack for a super good deal.
I am not going to spend too much time on the rack, as I intend on doing a separate write up on it soon, but the big take away is that I am able to house over 5kW worth of equipment, and having just gone through several 100 degree days, I'd say I'm quite pleased with the results.
Would I do this all again? Absolutely!
Am I making any money off this? Absolutely Not.
Ultimately this was a fun project that let me exercise some of my other hobbies such as welding, and electrical work. All of the electrical work was inspected and approved by the town, and the fire department has access to the main shut off for the container in the event of an actual fire. Once the container is moved to its final home on the other edge of my property, it will be getting anchored to steel posts that go over 8ft in the ground, just to be safe.
Future Plans and Goals:
First thing I want to do is get some foam insulation and siding up, even though I am recirculating the air fast enough for this not to be an issue, I have ran into situations where I am fighting with the sun hitting the container walls, heating the container up rapidly. I'd also like to install a fire suppression system, as right now the only means of extinguishing a fire is the air dampers installed.