Home Server
As mentioned in Toy Projects I have a Beelink Mini S12 Pro (N100, 16GiB of RAM. 500GB NVMe SSD).
I’m managing it using AI. To give root permissions to an agent felt crazy at first. Now I don’t want to go back.
The setup
Networking
Tailscale for VPN. Installed everywhere: on the server, personal laptop and phone. It’s extremely easy to get it up and running. Like, 5 minutes and it’s all done.
ufw for firewall. Only SSH and HTTP(S) open to the world.
CloudFlare for sub-domain registration, managed via Terraform. A one-liner to register a new sub-domain. Super easy 👌
Using LetsEncrypt for SSL certificates using DNS-challenge. This allows cert generation for domains only accessible thru VPN.
Git Repositories
I went with Forgejo. It’s the first time I self-host git. I’ve loved the experience so far.
It’s snappy. I can set CI/CD via docker. And it’s never down — 😅 I’m looking at you, GitHub.
The best is to have repository creation via Terraform. All the needed configuration, labels, protected mainbranch, requirement of CI passing to merge, repo settings and permissions. All via a config file. I love it.
The server management
Fully Agentic. Using Claude Code with Herdr, via SSH. I have 2 accounts, a root one, another one with an unprivileged user.
I haven’t installed anything manually. Read: firewall rules, SSL certificates, nginx vhosts, domains, git repositories, CI/CD pipelines. Nothing. All has been done using Claude.
When I was started managing the server using agents I did not care if I would lose data, or the whole server. I had nothing important there. And it felt great. Fast, efficient and easy.
Now it feels scary. I have “production data” (eg: all my photos). I don’t want to lose any of it. But I don’t want to give up the AI administration either.
It’s so much better to do system administration using natural language.
(note to self: I need to set proper backups)
The speedup is real
I consider myself to be a pretty good system administrator. I don’t think using AI is giving me a 10x. But definitively between 2x and 4x.
The sweet stop
Using AI to generate Terraform configurations and reviewing the “apply” feels safe. Asking the agent for the current configuration of a service, or to troubleshoot a problem is great.
Letting an Agent roam around the system and executing commands as root doesn’t feel good at all, and I’m waiting for a disaster to happen. So, similar feelings as when programming and ensuring quality.
Setup to test
I’m thinking that the sweet spot might be having a second machine, managed by Claude, that will take care of setting up everything in production. The access from this “setup machine” to production will be restricted to minimal commands, or tools like Terraform.