All posts
4 min read
Ryan Torres DevOps engineer and infrastructure blogger

I Tried Self-Hosting OpenClaw for 6 Months. Then I Switched.

6 months of self-hosting OpenClaw on a Hetzner VPS: the real costs, the outages, the 3am alerts, and why $19/month managed hosting won.

I Tried Self-Hosting OpenClaw for 6 Months. Then I Switched.

I love self-hosting things. I run Nextcloud on a Raspberry Pi. I have a Plex server in my closet. My Home Assistant setup has 47 automations and I'm proud of every single one of them.

So when I needed an AI agent for my freelance consulting business, obviously I was going to self-host OpenClaw. Why pay someone else $19/month when I can spin up a VPS for $12 and do it myself?

I maintained that position for exactly 6 months. Then I caved. Here's what happened.

Month 1: The honeymoon#

Got a Hetzner CX21 (2 vCPU, 4GB RAM, 40GB disk) for EUR 5.49/month. About $12 with tax. Pulled the OpenClaw Docker image, wrote a compose file, set up Caddy as a reverse proxy for automatic SSL. Had everything running in about 3 hours.

Felt great. I was running my own AI agent infrastructure for $12/month. I'd estimate I spent about 5 hours on the initial setup, but that's a one-time cost and I enjoyed the tinkering. Connected it to Telegram, set up my knowledge base, started using it with clients.

Everything worked perfectly. I was smug about it.

Month 2: First maintenance#

OpenClaw pushed an update. Cool, I like staying current. Pulled the new image, restarted the container. Except the database schema had changed and I hadn't read the migration notes closely enough. The agent started throwing 500 errors on every third request.

Spent 4 hours debugging. Turns out I needed to run a migration script before restarting. It was in the release notes. I just skimmed them.

Also realized my "backup strategy" was nonexistent. I'd been running for 5 weeks with no backups. Set up a cron job to dump the database nightly and rsync it to my NAS. Another 2 hours.

Monthly maintenance time: 6 hours.

Month 3: SSL fun#

My Let's Encrypt certificate failed to renew. Caddy is supposed to handle this automatically, and it does, unless your DNS propagation is being weird and you've also got a Cloudflare proxy in front of things with conflicting SSL settings.

I didn't notice for 2 days until a client told me the Telegram bot wasn't responding. The agent was fine. The SSL termination was broken, so the webhook endpoint was returning cert errors. Telegram silently stopped sending updates.

2 days of silent downtime. Two days where my clients thought the bot was working but it was actually ignoring every message.

Fix took 3 hours. I had to restructure my Caddy config and adjust the Cloudflare SSL mode from "Full" to "Full (strict)." Simple in hindsight. Annoying at the time.

Monthly maintenance time: 4 hours.

Month 4: The first 3am alert#

I'd set up UptimeRobot to ping the health endpoint every 5 minutes. At 3:14am on a Wednesday, my phone started buzzing. The server was down.

SSH'd in. The disk was full. OpenClaw's conversation logs had been growing steadily and I hadn't set up log rotation. 40GB fills up faster than you'd think when you're logging every API call and agent response.

Cleared the logs, set up logrotate, went back to bed. Couldn't fall asleep for an hour because I was thinking about what else I'd forgotten to configure.

Monthly maintenance time: 3 hours (plus lost sleep).

Month 5: Docker update breaks everything#

Hetzner auto-updated the host OS, which updated Docker, which changed the default network driver behavior. My containers couldn't talk to each other. The agent couldn't reach its database.

This one took me 5 hours across two evenings. I eventually pinned the Docker version and disabled auto-updates for the docker-ce package. But now I have to manually update Docker, which means another maintenance task to remember.

Monthly maintenance time: 5 hours.

Month 6: The outage that cost me a client#

Saturday afternoon. I was at my kid's soccer game. UptimeRobot alert: server down. I couldn't SSH in from my phone because the issue was deeper (the VPS host was having network problems in the Falkenstein datacenter).

The server was down for 7 hours. During those 7 hours, one of my consulting clients had a product launch. Their AI agent was supposed to be handling customer questions in their Telegram channel. Instead: silence.

The client was understanding about it. They also started looking at alternatives the following week. I don't know for sure that I lost them because of the outage, but our contract ended the next month and they didn't renew.

Monthly maintenance time: 2 hours (but the cost was much higher).

The real math#

Here's what 6 months of self-hosting actually cost me:

Direct costs: $12/month x 6 = $72

My time: Approximately 8 hours/month average maintenance at my consulting rate of $85/hour = $680/month. Over 6 months: $4,080.

Downtime cost: 2 outages, one of which probably cost me a client worth $1,200/month.

Total real cost: About $5,352 over 6 months. Or roughly $892/month.

Compare that to $19/month on RapidClaw. Where SSL just works. Where updates happen automatically. Where backups run daily without me setting up a cron job. Where someone else's team handles the 3am alerts.

I'm not great at math, but $19 is less than $892.

What I miss#

I'll be honest: I miss the control. On my self-hosted setup, I could tweak anything. Custom plugins, modified agent behavior, direct database access for analytics queries. On RapidClaw, I get what the platform offers.

For my use case, what the platform offers is plenty. But if you need deep customization, or you're running agents that require specific model configurations, self-hosting might still make sense.

I also miss the tinkering. There's a satisfaction in maintaining your own infrastructure that a managed platform can't replicate. My Plex server brings me joy. My OpenClaw server brought me stress. The difference, I think, is that nobody loses money when Plex goes down for a few hours.

Who should still self-host#

If you're running OpenClaw for personal use, or for internal projects where downtime doesn't matter much, self-hosting is great. The software is solid. The community is helpful. And the Hetzner bill really is just $12/month.

But if clients depend on your agent being up, if you can't afford silent downtime, if your time is worth more than $19/month (and if you're reading this, it is), then do yourself a favor.

Stop being a hero. Pay the $19.

I wish I'd done it 6 months earlier. That's 48 hours of my life I'm not getting back, and the only thing I have to show for it is this blog post and a Caddy config I'll never use again.

Share this post

Ready to build your own AI agent?

Deploy a personal AI agent to Telegram or Discord in 60 seconds. From $19/mo.

Get Started

Stay in the loop

New use cases, product updates, and guides. No spam.