← Back to the lab Infrastructure · in production · built AI-first

TYPServer

TYPServer is a small server estate: a hypervisor, 48 TiB of storage, over a dozen services, monitoring and layered backups. Claude did the hands-on work over SSH. I did the deciding and the screwdriver work. It took twelve weeks. This page is about what AI is actually good at in infrastructure, and about the times it, and I, got it wrong.

A dark server stack edge-lit in teal, with fading translucent copies of it receding behind as layered backups

I started with a thirteen-year-old NAS. It was past end of life, protected against one drive failure and nothing more, and held the only copy of most of what was on it. Everything else was in iCloud. The goal was a proper estate:

  • a hypervisor
  • dedicated storage
  • a container host for everyday services
  • separate machines for the services that earn them
  • monitoring and backups I could trust

None of that is new. Homelab people have built it for years. What's interesting is the division of labour.

~48TiBusable, up from a 7.8 TB box
13virtual machines and containers
80+monitors
~12wkacross ~165 working sessions

01What got built

A hypervisor on bare metal

Proxmox with 64 GB of RAM, memory-tested before anything went on it.

Storage that survives two failures

TrueNAS with its disk controller passed straight through, on a five-wide RAIDZ2 pool. It was widened from four drives to five in place.

A container host for everyday services

File sync, DNS filtering, a reverse proxy, dashboards and a link shortener each run in their own compose stack.

Dedicated machines where they earn it

A service gets its own VM when it brings its own database and breaking upgrades. It gets a container when it needs the GPU.

A segmented network

Remote access goes through a tunnel with an identity gate in front, never through an open port.

Monitoring where silence means trouble

Push heartbeats and dead-man's switches cover every scheduled job, plus a checker that runs off the estate.

Backups in layers

Nightly machine backups, file-system snapshots and a second copy on the old NAS, which has been demoted to backup target. An offsite copy is designed.

A record that checks itself

A nightly machine-read dump of the configuration is compared against the documentation, so undocumented change shows up.

Proxmox VE TrueNAS / ZFS Docker LXC Caddy Uptime Kuma

02How the work was split

Claude's side:

  • Interrogated the live machines over SSH and wrote the documentation from what it found. The older notes had drifted, with every version number on them out of date.
  • Wrote a specification before every build, for me to sign off.
  • Did the configuration.
  • Ended every session with a handoff note titled by what it found, about 165 of them so far.
  • Kept each document current. Each carries a date it was last checked against the live system, and a banner saying whether that check was complete.

My side:

  • Approving changes. Claude worked read-only by default.
  • Holding the credentials. Claude writes the scripts and I run them, and they read secrets at the moment they're needed.
  • Everything physical: the power supply, the cabling, the BIOS, opening the case.

AI can't see which slot a card is in. Once, it was handed plausible-looking slot data that turned out to be fabricated, which is worse than having none.

What AI is superb at here is the encyclopaedic, tedious part: knowing every flag, writing every note, running the full checklist every time. What it's poor at, on its own, is knowing when it hasn't actually checked.

03The verification is the work

Nearly every lesson from twelve weeks is the same lesson in a different costume:

  • The backup that had never run. It was built and proven by hand the day before. At 03:30 it died in one second, because the scheduler's environment couldn't find a command the shell could. It was only caught because the job's heartbeat didn't arrive. A job proven by hand is not proven.
  • The scrub that reported success. A disk check reported zero errors while two of four drives had silently dropped off and were never read. Exit code zero is not success. Check that the thing under test is still there at the end.
  • The hostname that could never work. A naming scheme two levels deep fell outside what the edge certificate covered. It caught the estate three times before it was written where the next build would read it.
  • The protection that protected nothing. An access rule was saved without the thing it was meant to guard. The dashboard looked right. Only asking it to refuse me showed it wide open.
  • The log that deleted the evidence. The drives' self-test history is a ring of about twenty entries, so daily quick tests had evicted the last full test. The alert was right, and the record had destroyed its own proof.
  • Claude's own errors. It reported a change as done when it wasn't, and once refused a correct instruction on the strength of an out-of-date spec. Those are now rules too.
Generation is cheap now. Verification is the work.

Those lessons didn't stay in the server room. Each became a one-line rule in the standing instructions every Claude session I run now reads: in client builds, in the client portal and in the other tools in this lab. The estate was where I learned to ask the AI the only question that matters: how do you know?

Want the thinking pointed at your problem?

TYPServer runs my own office, so there's nothing to demo. But if you're wondering whether AI can stand up and run real infrastructure, and what you'd need to wrap around it to trust the result, that's a conversation I enjoy having.

john@ionicconsulting.co.uk