Downsizing our Servers to Skin and Bones at 12-22 North

It’s been quite a move for Laboratory B! Our new location at 12-22 North has come with plenty of perks, but at the same time, it’s placed new constraints on things like space, parking and electricity use. As Matt Cropp mentioned in the previous post, the new space has a cap on free electricity use – so as part of the move, we’ve had to temporarily suspend our on-site server hosting policy.

Unfortunately, that conflicts with one of the priorities we formulated during the move – that we should consider migrating away from the locked-down services (offered by Google, Amazon and their ilk), and instead look towards self-hosted, open-source infrastructure to run our day-to-day Lab activities. (After all, free and open-source software is practically in our mission statement.)

So, how could we reduce our power footprint but still run servers? One suggestion was to use virtual private servers (VPS) – but the monthly cost of hosting was potentially prohibitive, and relying on webhosting would bring us further from truly controlling our own infrastructure. The nail in the coffin, though, was probably that we still had a surplus in our budget of renewable electricity – and some napkin math showed it might be enough to run servers with, if only we use the right kind of hardware. Napkin math devolved into discussion about Intel “Avoton” Atom processors and triple-digit-core ARM boards – but discussion matured into dejection when the price tags came up. The Lab did not have loose cash.

Around the same time, I had set up a Dockerized GitLab server on an old Mac Pro at home, to help organize our projects and handle support tickets from AJ, our landlord at 12-22 North. (Context: As a component of our lease, we are granted a rent discount in exchange for rendering IT support, in a sort of skill-share scheme.) I soon discovered, however, that the Mac Pro doubled as a space heater, drawing over 200W at near idle. I needed a solution that wouldn’t cook me alive when the summer came around – and one night, as I aimlessly browsed Youtube, the solution presented itself.

Laptops!

Laptop are plentiful, use cheap RAM, idle at low wattage, have an integrated UPS (the battery, duh!) and KVM – all things a server could use! Plus, if you don’t mind going without one or two of those things, you can find some absurdly cheap hardware – and find I did, in two dirt-cheap X230 motherboards. Long story short, for $100 a pop, I was able to cobble together two machines (i5-3320M + 16GiB DDR3), each of which could rival the Mac Pro, but which consumed a whopping nine watts at near-idle – 5% of what the Mac Pro was drawing.

Stripped-down laptop attached to a keyboard and monitor.
I christen thee Bones Mk1!

As hacky as it is, having a server solution that can be hosted at the Lab means we can house new open-source platforms – Etherpad / Etherdraw, Mattermost, Funkwhale, Mastodon, Matrix … for just now, the GitLab is the lone tenant, but our only limit is how many laptop skeletons we can fit in our server closet.