Berth

Why Berth

I wanted the old Heroku feeling (push, and it's live) for the pile of small apps I and my coding agents keep making, without a monthly bill per app or a weekend lost to Kubernetes. A Mac mini turns out to be a great home for that. It's quiet, it sips power, and an M4 with 16 GB comfortably runs twenty-odd small apps and a couple of databases. Apple's container runtime gives each app its own lightweight Linux VM, and a Cloudflare tunnel puts it on the internet without opening anything at home.

Berth is the glue. Each piece of it exists because something was annoying without it: zero-downtime deploys, nightly database dumps, a dev version an agent can push to and test on its own, sign-in so I stop writing OAuth code, and an encrypted backup somewhere that isn't the Mac.

What it isn't

It's one Mac. There's no failover, and if the power goes out while you're on holiday your apps are down until it comes back (and if FileVault is on, until someone types the password: see Reboots and FileVault). That's the right trade for side projects, internal tools, family apps and prototypes. It's the wrong one for anything where an hour of downtime costs real money.

Everything in the docs

Getting going

Day to day

Data and background work

Who sees what

Working with agents

Running the Mac

Reference

More

Edit this page on GitHub (it's a section of the README)