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
Web Terminal and File Explorer in a Self-Hosted PaaS
How we built a browser-based terminal (xterm.js + WebSocket + Docker exec) and a Docker Desktop-style file explorer -- features most self-hosted PaaS tools lack.
The Deploy Hub: 183 Options, One Page
How we built a Softaculous-style deploy hub with 183 options across 5 categories, 7 deploy form components, and a split-panel UX.
From Flat Lists to Stacks: Redesigning Our Entire UX
We threw away our flat app/database list UI and rebuilt around project-scoped stacks with a dual sidebar, context navigation, and cPanel-style sections.
Building a Production Dashboard with Svelte 5 in 48 Hours
How we built sh0's production dashboard -- dark/light themes, 5-language i18n, real-time WebSocket logs, and 7 core pages -- using Svelte 5 runes and TailwindCSS 4 in 48 hours.
The 16KB Bug: How a Pipe Buffer Froze Our Entire Platform
A 16KB pipe buffer caused Caddy to freeze every 5 minutes. The debugging story of a classic Unix pipe deadlock that took us from confusion to a 5-line fix.
Auto-Detecting 19 Tech Stacks from Source Code
How sh0's build engine detects 19 tech stacks, generates production-grade Dockerfiles with multi-stage builds, and creates optimized build contexts -- all in pure Rust.
Taming Caddy as a Programmatic Reverse Proxy
How we turned Caddy into a fully programmatic reverse proxy managed via its Admin API, with automatic SSL, route syncing, and crash recovery.
Blue-Green Deploys: Building a Zero-Downtime Pipeline in Rust
The 8-step deploy pipeline that powers sh0: clone, analyze, build, deploy, health check, route, swap, and cleanup -- with blue-green container swaps and automatic disk management.
Backup Engine: AES-256-GCM, 13 Storage Providers, and FTP Nightmares
Building a backup engine with pluggable storage, AES-256-GCM encryption, 13 storage providers via OpenDAL -- and the IPv6 FTP bug that forced us to write our own client.
Auth in Rust: Argon2id, JWT, TOTP, and API Keys
Building a complete authentication system in Rust: Argon2id password hashing, HS256 JWT tokens, TOTP 2FA with backup codes, API key generation, and AES-256-GCM encryption.
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.
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.