Rafe Blandford

What it runs on

Infrastructure - a quick summary of the servers and devices running RafeOS

Rafe Blandford
3 min read
RafeOS — What it runs on

I've written a fair bit about what RafeOS is and why I built it: the platform, the surfaces, the agents that act on my data. This post is about the floor it all stands on. Borrowed and boring, on purpose.

Nothing here is novel, but I've had a few questions about the setup, following on from earlier posts.

The right box for each job

  • My Mac is the workshop and where I run the interactive agent sessions. I'm also using it to run local LLMs for the time being.
  • Anchor is the always-on workhorse: a dedicated server that never sleeps, running the bulk of the self-hosted services, the scheduled agent jobs, and some archive sites I keep online (including this one). It's also used to run interactive agent sessions.
  • Crucible is another small always-on node, isolating some of the more experimental stuff (e.g. OpenClaw) and providing some useful redundancy.
  • Mimic is a small, low-power box that lives in a quasi-infrastructure cupboard in my flat. Home Assistant lives here, talking to the Zigbee and Matter devices around the house (I may write about these more in a future post). It also houses some of the more sensitive services and personal data (Influx, Grafana).
  • Wisdom is a NAS, also living in flat cupboard, and is the backup and cold-storage end of things. It's not somewhere I run services anymore. Technically, there's also a B2 backup location, fulfilling an offsite option, but this is not something I have to maintian.
  • My iPhone / mobile devices get used for "remote" sessions. I've ended up doing this more than I thought, even when I'm not physically remote (i.e. sitting on the sofa, wandering around the garden, etc.). There's an interesting behaviour change here in that with AI and agents you can be in supervise mode, signing off on the actions of running interactive sessions and agents.

The network is the trick

All these devices are connected together by Tailscale. Tailscale is a zero-config mesh VPN built on the WireGuard protocol that links your devices into a secure, private network (tailnet) without exposing them to the public internet or requiring complex port forwarding.

It acts like a secure virtual local network (LAN), but one that spans across the globe, connecting all your authorised devices together. With it, they behave like one system with several parts. The laptop can talk to the always-on server as easily as to itself. My phone can reach the whole thing from a café. Anchor can pull a backup to the NAS without any of it being open to the wider internet.

The software, and the services behind it

The always-on boxes run Linux; Mimic runs Proxmox so one small node can hold several isolated machines. Almost everything self-hosted lives in Docker containers behind Caddy, which handles routing and certificates, with Portainer and Uptime Kuma for management and a simple “is it still up?”. Home Assistant runs the house, Ghost runs this blog, and restic copies backups both to the NAS and offsite.

Most of those containers are RafeOS itself — the API, the MCP server and the per-domain modules described in the other posts. The handful that aren’t are off-the-shelf apps filling specific gaps: Miniflux for the RSS feeds behind the reading layer, a self-hosted Matrix server behind the messaging layer.

The hard and expensive things are rented in:

  • The models and associated services — Anthropic’s Claude does most of the reasoning and generation, with OpenAI’s models also in the mix.
  • The critical plumbing — OVH hosts the always-on server, Cloudflare handles DNS, Mailgun sends the email (Tailscale, above, is the network).
  • Durable storage — Backblaze B2 holds the offsite backups, so a flat-wide disaster doesn’t take my data with it.

Infrastructure you don't think about

The version of this that feels notable compared to previous endeavours is that most days, I don't think about any of it.

Robust, well-supported software, updates that are dull, and backups that just happen. A network I set up once that stays low-maintenance. The aim throughout is that the foundations stay quiet so the interesting layer (the agents, the platform, the daily use) has something solid and silent to stand on.

That restraint is the same instinct that runs through the rest of RafeOS: do the boring thing well, automate what you can, and reserve your attention for the parts that genuinely need it.

New writing by email

Occasional pieces on product, technology and AI — and how they actually play out in practice.

Thanks — check your inbox to confirm.