My Opi5 Cluster

A small bare-metal cloud, built at home.

How it started

The cluster didn’t begin as a carefully planned infrastructure project. It started with 2 × Orange Pi 5s and 1 × Raspberry Pi 3 that I happened to have lying around.

At the time, the Orange Pis were the most powerful machines I had, so they naturally became the foundation of the cluster, and with that, the opi5-cluster was born.

From there, things gradually grew. More Orange Pis joined first, keeping the cluster firmly in ARM territory. Eventually, x86 machines found their way in too, as I started repurposing old laptops and mini-PCs that would otherwise have been gathering dust.

The hardware has changed quite a bit since those early days, but the opi5-cluster name stuck. These days, it's less a description of what's running in the cluster and more a reminder of where the whole thing started.

What is it?

A self-hosted K3s cluster running on a mix of ARM and x86 hardware, providing the foundation for infrastructure experiments, personal services, data platforms, AI workloads, and everything else I decide to build.

opi5-cluster cluster
opi5-cluster in physical form.

Design principles

Six ideas shape every decision in the cluster:

  • Self-hosted first. If it can run at home, it runs at home. Cloud services are treated as an edge, not a foundation.
  • Everything as code. Every application live in Git and are reconciled via ArgoCD. Nothing is hand-built and hoped for.
  • Secrets out of Git. Vault is the single source of truth for credentials, synced into the cluster by External Secrets Operator.
  • Heterogeneous by choice. ARM and x86 nodes coexist. Multi-arch images are a requirement, not an afterthought.
  • Real services, real stakes. The cluster runs things I actually depend on: DNS, Media, Data, Bots. Uptime matters because the users are real.
  • Serious, not bureaucratic. Operated with production discipline (GitOps, Observability, Backups) without meetings, tickets, or change-approval theatre.
Serious, but without the red tape

The cluster follows production patterns (GitOps, Secrets Management, Monitoring, Backups), but it is operated by one person for one household. No tickets, No approval flows, No on-call rotation. Just infrastructure taken seriously.