I built a private AI cloud from an old desktop and a new GPU — here's what actually broke
I'm running local LLM inference on an RTX 5090 — not in the cloud, not in a data centre. In my home. Alongside a seven-year-old i7-8700K desktop that runs Postgres, Redis, Nextcloud, and ZFS replication over a 10GbE switch.
Two nodes. One private cloud. Twenty-two architectural documents to keep it honest.
People assume the hard part is the GPU. It isn't. The hard part is everything a data centre quietly does for you that you now have to do yourself. Here's what actually broke in the first weeks.
One flaky router port took down both nodes for 16 hours
The Huawei router's LAN1 port is physically unreliable. That caused a carrier flap. The flap triggered UFW to reload — against hardcoded, stale subnet values sitting in nine different scripts, each written differently. Both nodes went dark. Sixteen hours. Physical console access required to bring them back.
The lesson wasn't "buy a better router." It was that a single flaky component found nine places where I'd repeated myself, and turned a blip into an outage. The fix was consolidation and one source of truth for the network config — not more hardware.
A ₹500 Bluetooth dongle wouldn't let the machine power off
The same night, the desktop stopped powering off cleanly. A cheap TP-Link Bluetooth dongle (USB ID 2357:0604) resets its firmware on shutdown, and kernel 6.17.0-19+ reads that firmware reset as a wakeup signal — so the machine restarts itself.
The "obvious fix" is ErP Ready in the BIOS. Except that would have killed Wake-on-LAN (and the iGPU display). So the real fix was a udev rule for exactly that one USB device — surgical, not a sledgehammer. That's the whole pattern of running your own infrastructure: the obvious fix usually breaks something you need.
Why 22 documents, not just scripts
I build this with Claude Code as an agentic teammate — four parallel git worktrees, gated deploy phases, and a model-agnostic governance file called AGENTS.md. The 22 A-series documents aren't bureaucracy; they're the memory that stops an agent (or me at 2am) from re-introducing the same stale-CIDR mistake that caused the 16-hour outage.
flowchart LR
I[Internet] --> R[Router LAN1 · flaky]
R --> SW[10GbE switch]
SW --> N1[Node 1 · i7-8700K\nPostgres · Redis · Nextcloud · ZFS]
SW --> N2[Node 2 · RTX 5090\nlocal LLM inference]
N1 <-. ZFS replication .-> N2
G[[AGENTS.md + 22 A-series docs]] --- N1
G --- N2Not every cloud needs AWS. Some need a constitution.
This is what we do at VigyanBytes — build agentic AI and the governed infrastructure around it, on your own servers or the cloud, with an audit trail for every action. If you want AI that runs where your data lives and can prove what it did, tell us the workflow you'd hand to an agent — or message our agent on WhatsApp (+91 70197 74426).
What's the most "obviously simple" thing that turned into a three-layer problem for you? I read every reply.