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
34 Rules to Catch Deployment Mistakes Before They Happen
We built a pure-Rust static analysis engine with 34 rules across 8 categories to catch security issues, misconfigurations, and deployment mistakes before they reach production.
Building an MCP Server: 25 Tools, 3-Tier Safety, OpenAPI-Driven
How we built sh0's MCP server with 25 tools, OpenAPI-driven auto-generation, scoped API keys, risk classification, and confirmation tokens for destructive operations.
Giving sh0 a Brain: AI Gateway with Claude Tool Calling
How we built an AI gateway that lets Claude manage sh0 servers -- with SSE streaming, 10 tool definitions, client-side execution, and a chat UI that feels like talking to a DevOps engineer.
Monitoring and Alerts: Email, Slack, Discord, Telegram, Webhooks
Building a monitoring system with periodic Docker stats collection, threshold-based alert evaluation, and multi-channel dispatch to Email, Slack, Discord, Telegram, and webhooks.
Cron Jobs and Preview Environments: Two Features, Zero Downtime
How we built cron job scheduling with timeout enforcement and preview environments with PR webhook integration -- developed in parallel using git worktree isolation.
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.