> ## Content Index
> Fetch the complete content index at: https://www.street.id.au/llms.txt
> Use this file to discover other available public pages before exploring further.

# I gave an AI root access to my home server
- URL: https://www.street.id.au/ai-root-access/
- Published: 2026-10-20T05:08:24.000Z
- Updated: 2026-10-20T06:03:07.000Z
- Description: I've built plenty of servers. This time I installed an AI, gave it root, and stopped typing commands. Here's what happened.
- Author: Antony Street
- Tags: AI, Home Lab

I've been around computers since the mid-eighties and have run Linux since kernel 1.3\. Building and running servers has been my job for decades: VMware ESXi with vCenter, Hyper-V, and these days Proxmox, which I moved our production environment to by choice. Doing this one myself would have been the normal way.

So this time I didn't.

I installed Ubuntu on a new box, installed an AI on it, gave it root, and stopped typing commands. The last command I ran on this machine was the one that installed the AI. Everything since has been done by conversation: I say what I want, it works out how, does it, and tells me what it did.

A week later, that box runs my email, my photos, my files, my media, this blog, and a more careful backup setup than I'd normally bother with at home. This series is the honest story of how that went. This first post is the why, and what it's actually like.

## The experiment

The AI is Claude, made by Anthropic, running as Claude Code in a terminal on the server itself. That last part matters. It isn't a chatbot I copy commands out of. It runs on the machine, as root, with the same access I'd have. It reads config files, edits them, restarts services, checks logs and fixes what it broke. If something goes wrong, it's the one who has to sort it out.

And it doesn't stop at the box. I gave it an API token for Cloudflare, so it can create and change the DNS records for my domains, and an API key for my UniFi Dream Machine, so it can manage local DNS and port forwarding on the router. When it moved Plex behind the reverse proxy, it also deleted the old port forward on the router. When a new service needed a name, it created the DNS record. I didn't touch either.

The point wasn't to see whether an AI could follow instructions. Anyone can follow instructions. The point was to see whether I could hand over the *doing* entirely, the typing, the reading of man pages, the forty browser tabs, and keep only the deciding. Could I treat it like a capable junior sysadmin who never sleeps, and still end up with something I'd trust with my family's email?

The deal I set was simple:

- I decide what gets built and what risks are acceptable.
- It decides how, and has to explain its reasoning when I ask.
- It writes everything down, because I'm not going to remember what it did on a Tuesday afternoon.
- Anything hard to undo, it asks first.

## What got built in a week

Here's the honest scope, from a bare Ubuntu install to what's running now:

- **Storage:** six 12 TB drives in a ZFS RAIDZ2 pool, so any two can die without losing anything, with hourly snapshots. All squeezed into a small case with exactly two fans, which turned keeping the disk controller cool into its own little project.
- **Email:** I left iCloud Mail. My domain now runs on my own mail server, with all 9,641 old messages migrated across, proper authentication, and mail that lands in Gmail inboxes rather than their spam folder.
- **Apps:** Nextcloud for files, Immich in place of Google Photos, Plex for media, Ghost for this blog, and a self-hosted version of Apple's Hide My Email that works on my iPhone and my Android phone.
- **Security:** a default-deny firewall, blocklists of known-criminal networks, a community threat feed, a web application firewall, and automatic bans for anyone who comes knocking too often. In its first full week it turned away close to twelve thousand attempts to get in.
- **Backups:** three tiers. The live pool with its snapshots, a nightly copy to a USB drive, and an offsite copy at Backblaze. Each offsite backup is locked for thirty days, and until the lock runs out nobody can delete it. Not even me, and not even root on this server.
- **Recovery:** a written disaster recovery plan, tested by actually restoring from the offsite backup, with copies held by two people off the server.
- **Undo:** every configuration change is committed to a private GitHub repository, and every push is checked for passwords and keys before it leaves the server. The box can be rebuilt from it. Container updates take a snapshot first, check themselves afterwards and roll back on their own if something breaks. And the DNS and router settings it can change from here are saved every hour with thirty days of history, so a bad change out there can be rolled back too.
- **Monitoring:** a daily health check that emails me only when something's wrong, plus a dead man's switch that tells me if the health check itself stops running.

It also wrote the theme you're reading this on, and it drafted this post. More on that at the end.

## What it's actually like

It's like having a very fast, very well-read colleague who has never once been bored. You don't give it commands. You give it outcomes, and sometimes complaints.

One morning the daily health email arrived and it was, frankly, ugly. A wall of plain text that told me everything was fine in the least convincing way possible. So I said so:

```
me:     Now, we have to talk about the "health: all OK" emails.
        How shit can you make that look? Yes, this is sarcasm. Fix it.
claude: Fair hit: it's a plain-text dump. I'll rebuild it as a proper
        HTML email, the same look as the security report...
```

![The daily health email: an All good banner, a This week section with sparklines, and a status board](https://www.street.id.au/content/images/2026/10/01-health-top.png)

The health email, twenty minutes after I complained. A few hostnames removed.

Twenty minutes later I had a proper report: status at a glance, a board covering every part of the system, temperatures, backup ages, what's coming up. I didn't specify any of that. I just said it looked like shit.

That's the pattern. "Why is all my email being marked important?" turned out to be a feature in the webmail app quietly classifying everything, and it was fixed in a few minutes. "Plex: put it behind the reverse proxy." Done, tested, and the old open port closed. "I want something like Apple's Hide My Email, but it has to work on my Pixel too." A day later my password manager was generating disposable addresses on my own domain, on whatever device I happened to be using.

What surprised me most wasn't the speed. It was the follow-through. It documents everything without needing to be reminded. Every change goes into the Git repository with a sensible commit message. When it changes something the disaster recovery plan depends on, it updates the plan, bumps the version and sends a copy to the people who hold it. That's the stuff humans skip.

## Where it went wrong

It isn't magic, and it isn't always right. Over the week it:

- Told me I'd need an account for a service I didn't need one for, and had to walk it back.
- Labelled times in the health report as Perth time when they were UTC, because the server clock runs on UTC and it hadn't checked.
- Set up the USB backups so the newest copy was always about a day old, and didn't notice until an outside review asked the right question.
- Introduced a spam filter setting that would have quietly sent genuine mail to Junk. It only came to light because a test message to a brand-new address landed there.
- Kept reminding me about a risk I'd already decided to accept, until I told it, in plain Australian, to stop.

None of these caused any harm, partly because the safety net was built first: snapshots, backups, a Git history of every change. And every one of them got fixed properly, with the fix written down. But the lesson is clear. You still need someone who knows what good looks like. The AI does the work; I'm still the one who has to recognise when the work is wrong.

That's also why I brought in a second opinion. I had a different AI, ChatGPT, log in read-only and audit the whole system. Twice. It found real problems, including one in the backup rollback logic that could have lost data. That gets its own post.

## Is giving an AI root a foolish idea?

Some people will say so, and I get it. But not experimenting wouldn't be me, and it wouldn't be the point. I'm experimenting with AI: what can I actually get it to do? You don't find that out by keeping it at arm's length.

For most people it probably is a bad idea. Root is root. A confident, wrong change to a firewall or a mail server can do real damage, and an AI can be confident and wrong in the same sentence.

The keys make that more true, not less. Root on the server can break the server. A bad DNS change can take down my email and every site at once, and the router key can reach well beyond port forwarding, firewall rules included, even though it has never been asked to touch them. So those keys come with rules. Some of my domains have records on them that belong to my business, and it is told, in writing, which handful of records it may touch and to leave everything else alone.

To be clear, those are instructions, not enforced limits. The keys themselves could do more, and I've accepted that. Revoking a key takes a minute, but it only stops what comes next. It doesn't undo anything already done, which is why everything those keys can reach is also backed up every hour, so a bad change out there can be rolled back.

What makes it work for me is that I can read everything it does, and I do. I set the boundaries: what it's allowed to touch, what needs my say-so, what risks I'm happy to carry. The machine is mine, the data is backed up three ways, and almost any change can be rolled back. Not everything, mind you. A leaked password or a lost email can't be un-happened, but a broken config can. I wouldn't hand this to someone who couldn't check the work. But for someone who can, it's changed how I think about working with computers.

And honestly? The result is pretty bloody amazing. Everything I listed above works, and works well. Is it secure? I'm confident it's in good shape, and not just on my say-so, though no review can prove a system secure. Here's what was checked: the first independent review went through the firewall, the backups and the monitoring, and found nothing critical or high-risk. The second, which dug much deeper, did find real problems. All of them were fixed, except one minor one we left as it is, for a good reason. That's more scrutiny than most home servers will ever get.

## What's next

This series goes through what we built, one area at a time: the backups, the safety nets that make most mistakes undoable, the hardware, leaving iCloud for my own email, the Hide My Email replacement, the apps, what actually hits a home server every day, the outside audit, and what I learned. If I keep at it, that is. I'm writing this for me. If you find it useful, great.

## Full disclosure

Claude drafted this post, the same way it built everything else: I told it what I wanted to say, it wrote it, and I kept sending it back until it sounded like me. Given the subject, it would have been a bit rich to pretend otherwise.