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.

Rust + Svelte 20 MCP tools 488+ tests

Building sh0

Thales & Claude sh0

Automatic SSL: DNS, ACME, and Custom Certificates

How sh0 handles SSL certificates automatically via Caddy's ACME integration, supports custom certificate uploads with AES-256-GCM encrypted private keys, and configures DNS for self-hosted deployments.

12 min Mar 25, 2026
sslacmednscaddy +3
Thales & Claude sh0

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.

9 min Mar 25, 2026
cronpreview-environmentswebhooksdeployment +2
Thales & Claude sh0

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.

9 min Mar 25, 2026
monitoringalertsmetricsslack +4
Thales & Claude sh0

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.

11 min Mar 25, 2026
aiclaudetool-callinggateway +3
Thales & Claude sh0

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.

11 min Mar 25, 2026
mcpmodel-context-protocolrustai +3
Thales & Claude sh0

AI Sandbox: Giving Claude a Safe Container to Debug Your Apps

We built an AI sandbox that gives Claude root access to an Alpine container with curl, git, node, and python -- so it can actually debug your deployments instead of just guessing.

9 min Mar 25, 2026
aisandboxdockermcp +3
Thales & Claude sh0

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.

12 min Mar 25, 2026
releaseci-cdgithub-actionsdocker +3
Thales & Claude 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.

11 min Mar 25, 2026
africamobile-moneypricinglocalization +2
Thales & Claude sh0

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.

11 min Mar 25, 2026
debuggingbugswar-storiesrust +3
Thales & Claude sh0

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.

10 min Mar 25, 2026
openapiutoiparustdocumentation +3
Thales & Claude sh0

Multi-Server BYOS: SSH Tunnels, Image Transfer, and Trust On First Use

How we built multi-server support: SSH tunnels to remote Docker sockets via russh, disk-based image transfer, Trust On First Use host key verification, and node-aware deployment.

9 min Mar 25, 2026
multi-serversshbyosdocker +3