Where my homelab starts

Two tiny single-board computers, a microSD card that hasn't shown up yet, and the plan for a 10-inch rack on my desk.

My homelab right now is two computers about the size of a stick of gum: an Orange Pi Zero 2W and a Raspberry Pi Zero 2W. Neither of them is running anything yet, because the microSD card I ordered hasn't arrived. That's where this starts.

Why bother

Mostly to learn. I build a lot of software, and almost all of it ends up on someone else's computer: Vercel, Railway, a cloud provider. I know how to deploy to those. I don't really know what's happening underneath, and the best way I can think of to find out is to run it myself.

I also want somewhere to try other people's software. Half the fun of self-hosting is finding a project on GitHub and having it running at home by the end of the night.

And honestly, it looks fun. The end goal is a 10-inch, 8U mini rack on my desk, and I'm already picturing it.

The first tenant

The first thing moving in is Pai, my Telegram assistant. It was always meant to live on the Orange Pi. The model runs on Anthropic's servers, so the board only has to make HTTP requests, and 1 GB of RAM is plenty for that. Until the card shows up, Pai is on Railway. When it does, Pai comes home.

It's a good first project because it's small, it runs all day, and I'll notice right away if it goes down.

What comes next

Roughly in the order I expect to get to it:

  • A mini PC. Something like a used ThinkCentre or OptiPlex micro, the small business desktops that end up cheap once companies replace them. This becomes the real workhorse.
  • Tailscale, so I can reach everything from anywhere without opening ports. I also have a domain I'm not using anymore, so Cloudflare Tunnels might give some of it a public address.
  • Storage for photos and videos, so they live somewhere I control.
  • Plex or something like it for streaming.
  • Self-hosted dev tools, since that's what I'd actually use every day.
  • A small AWS of my own. This is the one I'm most excited about. I want a place to test my software against the kind of services I'd use in the cloud, and to learn how those services actually work by building or running versions of them myself.

That last one has a backstory. I once got a $250 AWS bill by accident. Amazon forgave it, which I'm still grateful for, but I'd rather do my experimenting somewhere the worst case is my power bill.

How I'll write about it

I'll post as each piece goes in: what I set up, what broke, and what I'd do differently. Some of it will be wrong the first time. That's sort of the point.

For now it's two tiny boards and an empty spot on my desk. Next post, hopefully, Pai is running on one of them.