I Self-Hosted an AI Assistant: Lessons from 48 Hours of Debugging
I wanted a local AI assistant. Expected: 2 hours. Reality: 2 days of edge cases, broken dependencies, and discovering that "local" doesn't mean "free."
The Stack
OpenClaw (open-source AI assistant framework)
VPS with limited console access (had to file tickets to enable)
OpenRouter for model access
Local Qwen as fallback
What Broke
1. Dependency Hell
Pre-installed OpenClaw came with an outdated library. Updated manually. Then updated again. OpenRouter integration only worked after the second update.
2. Certificate Issues
Self-hosted means self-managed certificates. Let's Encrypt, reverse proxy, CORS headers. Each layer adds a new failure mode.
3. "Free" API Credits Aren't
OpenRouter's "free" models have limits. Hit them within hours. The API key died silently — no error message, just empty responses.
4. Local Model Reality Check
Qwen promised tool-use support.…