Kubernetes homelab on an old MacBook Air

Router, laptop and other computer equipment sitting together on a shelf

Reflecting on the ten year milestone of using my Ergodox the other day really got me thinking. Tech's so dominated by consumerism. It's all very American really. Bigger is better and all that. Silly.

So instead here's a run through of quite a realistic, minimal homelab setup. It lives on the shelf above our front door. And it's grown organically over time, through reusing old equipment and avoiding buying loads of expensive new stuff.

Modem

The big chunky boy on the left is our modem. This belongs to our ISP, and isn't very good. I keep it standing up on its side like that so I can see the status lights when the connection drops out. That happens a lot.

We actually only have one choice of ISP in our building. Recently it came out in the news that landlords in Sweden are getting kickbacks from ISPs for monopolies like this one. So maybe that's why.

Anyway, its range isn't good enough to get a WiFi signal to any of the parts of the apartment where it's needed. So it's bridged to the Google Nest WiFi router next to it.

Router

This Google Nest WiFi thing is practically a member of the family. It floods the entire apartment with glorious internet. "Hey Google, stop" were some of the kids' first words.

Sometimes I wonder what it must be like to grow up with a talking computer. What it must do to your expectations about what it's possible for the computer to do. Then I find myself doing a sarcastic impersonation of an American because it can't understand "Hey Google, play BBC Radio Merseyside" unless you say it like someone from California. Never mind.

It has a little ethernet port underneath, which is plugged into our NAS.

NAS

Way back in the old country I had one of those AirPort Time Capsule things that Apple don't make any more. There wasn't room for it when I packed to move to Sweden, so it went in a cupboard in my parents' house for a good six or seven years until they found it one day.

It'll be about ten years old soon and it still works. Homelab nerds would probably cringe at the thought of using such an old single disk NAS. And sure, it'll probably die soon. But we had zero disks before this showed up, and that was basically fine. Not trying to compete with the Arctic World Archive here.

Server

At some point in like 2021 I went to play Casual Sex In The Cineplex on Spotify and it said "This content is not available". Still does today, actually.

Spotify screenshot where the tracks in the album Casual Sex In The Cineplex by Sultans of Ping FC are greyed out and a toast notification saying 'This content is not available' is displayed
Not available my arse.

Anyway something snapped in me that day. A real "Hey, that's not the wallet inspector" moment. I set up Plex on my laptop and put the album on there instead. After a few days I realised this was something I was probably going to keep using, so I dug out my old 2013 MacBook Air and moved the Plex server over onto that. And that laptop has been a Plex server ever since.

Those old MacBooks didn't come with tons of storage, so it didn't take long to fill up. Eventually I bought a 1TB external SSD. It still runs off that today. Sometimes it fills up and I'll delete a show or a film to make space. Over time I upgraded it to a nice Docker Compose & Traefik setup with some help from a friend. Then later I installed Minikube and upgraded it to Kubernetes.

Old laptops are underrated homelab servers. For one, the battery means it doesn't immediately die if the power goes out. That's a built-in UPS! Even better though are the built-in speakers. If I'm away on a work trip I'll often SSH into it while I'm FaceTiming with the kids and run say -vDaniel -r90 "Piss off naughty boys". I see a lot of very fancy rackmount homelab clusters on YouTube and they never have speakers. Not one of them can deliver the joy of watching two little boys running around laughing and shouting "No you piss off Google".

Oh yeah, Kubernetes

Sorry, you're probably here from Google about the Kubernetes MacBook Air homelab thing aren't you. Let's get into it then.

I'm running Minikube on this thing. It's a fairly standard traefik & cert-manager setup. I've stopped bothering with setting up an automated dynamic DNS thing, to be honest. My modem's public IP changes rarely enough that I don't mind just logging into Cloudflare and updating it once every few weeks.

That's it though. It seems a bit maxed out with just that workload. I tried to spin up Authentik on it once and the whole thing kind of died on its arse. CPU fans roaring, pods getting evicted left and right, that kind of thing. It's gonna need replacing with something proper before I can do more with it. So if you're here from Google hoping to learn about running a badass k8s cluster on your old MacBook Air, too bad. Can't be done, sorry. But do give "Piss off naughty boys" a try sometime.

Ergodox, Ten Years Later

Ortholinear split keyboard

It's been about a decade since I built my Ergodox. I'm still using it! I don't think I've ever had anything I've used so frequently last so long. Here's everything I've learned about it. A little hardware review after ten years of almost daily use.

Blank Keycaps

The blank keycaps are fine for most typing. The layout becomes muscle memory really quickly. The fact that they remove any reason to stare down at the keyboard while typing is probably a good thing.

But blank keycaps are terrible for entering long numerical sequences such as credit card numbers, one-time passwords, phone numbers and so on. A decade in and I'm still unable to do this kind of thing without making mistakes. Printed keycaps are a lot better for this.

I chose blank keycaps because I didn't want to limit my layout options. In practice this wouldn't have been a problem. On balance I'm still happy with this choice, but it would have been fine either way.

MX Clear Switches

I love typing on this keyboard, and the switches are why. MX clears push back a bit. It makes the whole keyboard feel expensive and sturdy. They're nice and quiet too, by mechanical keyboard standards.

For a short while, I had a Moonlander. It came with MX browns, which I chose because that was the closest they had to clears. I didn't like it quite as much, but it was still fine. I rarely noticed the difference. People stress too much about choosing switches, I think.

Acrylic Case

The acrylic case does a great job of damping the typing noise. During my short time with the Moonlander, I found it very loud in comparison to the Ergodox, and I think the case is partly the reason for the difference. The Ergodox's acrylic case engulfs the switches from all sides, whereas the Moonlander's more minimalist chassis exposes them. Does make cleaning the Ergodox a little more troublesome in comparison to the Moonlander, though.

Once a year I take the case apart and clean everything out. One year, I fucked up and broke one of the layers of the case during this process. Due to the open source nature of the Ergodox hardware design it was easy to find a replacement.

Keyboard Layout

Four of the thumb cluster keys are hard to reach. Back in 2014 I mapped a bunch of punctuation characters to those keys. In the years since, I moved all that stuff back to more standard positions. This is an ergonomic detail ZSA have gotten 100% right in the Moonlander, where they've completely removed these keys from each thumb cluster. They're just not useful.

Still very happy with having the escape key right there in the thumb cluster. Such an underrated key. You're probably pressing it more often than you realise.

Original layout from 2014

Current layout in 2024

Software

The screenshot from 2014 there is of a layout configuration tool created by a company called Massdrop. I bought the parts for my Ergodox from them, and they provided an online configuration tool as part of their promotional campaign for the kit. The 2024 screenshot looks so different because that original tool no longer exists. It was a proprietary tool hosted by Massdrop, and at some point they took it offline. The company's not even called Massdrop any more, in fact.

Fortunately, ZSA sell an Ergodox-based product called the Ergodox EZ, and so they created their own layout configuration tool for that. And mostly thanks to the Ergodox firmware being free software, that tool is compatible with older models like mine.

Repairs & Longevity

The TRRS cable that connects the two halves of the Ergodox requires more force to plug in and unplug than e.g. a USB C cable. That force puts a bit of strain on the solder joints holding the TRRS jack onto the PCB.

After many years of use, this strain wore out the solder joint, and the connection between the two halves of the keyboard became unreliable. That was what led me to try a Moonlander for a while. Eventually it felt like a missed opportunity that I'd bought a new thing instead of repairing my Ergodox, so I sold the Moonlander and fired up the soldering iron.

It was an easy 30 minute job to fix it, too. It was enough to heat the solder up and gently push the TRRS jack back into place. After fixing it, I also replaced the original TRRS cable with a coiled one. It feels a little bit gentler on that solder joint.

It’s a rare pleasure to have a piece of computer equipment last an entire decade of almost daily use. There's no reason it can't last another decade, either. As long as I keep it out of reach of the kids.

Successful RSI Treatment

When I first bought it, I was wary of it becoming a gateway into a materialistic hobby. Never been a fan of the "basically just buying things" category of hobbies. Nerd culture is prone to a really shallow and very capitalist form of individualism based on defining yourself primarily in terms of what kind of labour you sell, who you sell it to, and what specific treats and goodies you buy with the leftovers of the wage you receive for that labour.

I think a far more compelling vision of individual empowerment involves working together to eliminate the barriers that turn people's identities and bodies into limiting factors in their own lives. That's why I try not to forget that my Ergodox is actually a piece of assistive technology that I bought to save my tech career from ending early due to wrist pain. It's succeeded wonderfully at this, and the strong copyleft license of the hardware design & firmware seems to be doing a great job of ensuring it's a lasting solution as well.