sh0
Self-hosted deployment. Single binary. Zero complexity.
A deployment platform in a single Rust binary (~2MB). Git push deployments, automatic SSL, built-in AI chat with 20 MCP tools, database management, browser terminal, and multi-server orchestration.
Building sh0
14 Days, 105 Sessions, 1 AI CTO: The Complete Story of Building sh0.dev
The complete story of building sh0.dev -- a production-grade PaaS with 488 tests, 119 templates, 25 MCP tools, and an AI assistant -- in 14 days from Abidjan with zero human engineers.
License Enforcement: Free, Pro, Business -- Gating Features in Rust
How we implemented a 3-tier license system in a self-hosted PaaS -- generous free tier, feature gating in Rust, dashboard upgrade prompts, and the pricing decisions behind it.
The sh0 CLI: 10 Commands That Mirror the Dashboard
How we built the sh0 CLI with 10 commands that mirror every dashboard action -- deploy, logs, env vars, health checks, and SSH into containers.
OpenAPI as Single Source of Truth: Docs, MCP Tools, and Playground
How we used utoipa to auto-generate an OpenAPI 3.1 spec from Rust handler annotations, then used that spec to generate API docs, an interactive playground, and MCP tool definitions.
The Bugs That Almost Broke Us
Git pull failures, CSRF blocking uploads, stale Caddy processes, FTP IPv6 incompatibilities, and Docker network aliases -- the bugs that almost derailed sh0.
Building for Africa: Mobile Money, Local Pricing, and Why It Matters
Why we built sh0 from Abidjan with Mobile Money payments, 5-language support including Swahili, and pricing designed for African developers.
From cargo build to a Live Server: The Release Pipeline
How we built sh0's release pipeline: multi-stage Docker builds, cross-compilation challenges, GitHub Actions CI/CD, binary distribution, and the first production deploy.
Migrating from localStorage Tokens to HTTP-Only Cookies
How we migrated sh0's authentication from localStorage JWT tokens to HTTP-only cookies with CSRF double-submit protection -- and why every self-hosted tool should do the same.
We Audited Our Own Platform and Found 88 Security Issues
We ran 4 comprehensive security audits on our own PaaS and found 88 issues -- 9 critical, 12 high, 45 medium. Here is every finding, every fix, and what we learned.
Autoscaling in Rust: CPU Thresholds, Cooldowns, and Load Balancing
How we built horizontal scaling with Caddy load balancing, replica container management, and an autoscaler that evaluates CPU/memory thresholds with configurable cooldowns.
Docker Compose on a PaaS: Parsing, Validating, Deploying
How we added Docker Compose support to sh0 -- parsing Compose v3 YAML, validating dependencies, detecting circular references, and deploying multi-service stacks.
119 One-Click Templates: From WordPress to Ollama
How we built a YAML-based template system with variable substitution, dependency ordering, and 119 production-ready templates covering databases, CMS, AI/ML, and more.