All Plans

5 steps to production

From a bare Linux server to a fully managed deployment platform. Four deploy methods, 19 auto-detected stacks, blue-green deploys with zero downtime.

Built for production

Everything you need to go from bare server to live application -- automated, secure, and fast.

4 deploy methods
Git repository, Docker image, file upload, or 170 one-click templates
19 stack auto-detection
Node.js, Python, Go, Rust, PHP, Java, .NET, and 12 more frameworks
Blue-green deploys
Zero-downtime deployments with automatic rollback on health check failure
Auto-SSL provisioning
Let's Encrypt certificates auto-provisioned and renewed for every domain
Real-time build logs
Watch your build and deploy via WebSocket streaming, line by line
Deploy notifications
Results sent to Slack, Discord, Telegram, email, or custom webhooks

The 5-step workflow

01

Install sh0

One command. 30 seconds. Any Linux server with Docker.

your-server
$ curl -fsSL https://get.sh0.dev | bash
Downloading sh0 v1.6.0 for linux-x64...
Checksum verified. OK
sh0 installed to /usr/local/bin/sh0
02

Start the platform

Run sh0 serve. Dashboard, API, and reverse proxy start instantly.

your-server
$ sh0 serve
sh0 v1.6.0 starting...
Dashboard: http://your-server:9000
API: http://your-server:9000/api/v1
Default: [email protected] / sh0-change-me!
03

Create a stack

A stack is a logical group for related services -- frontend, backend, database.

04

Deploy your app

Four ways to deploy:

Git Repository
Connect GitHub, GitLab, or Bitbucket. Auto-deploy on push with webhook integration.
Docker Image
Pull any public or private Docker image directly. No build step needed.
File Upload
Upload a ZIP or TAR of your project. sh0 detects the stack and builds automatically.
170 Templates
One-click deploy WordPress, PostgreSQL, Redis, Ghost, Gitea, and 163 more.
Docker Compose
Paste or upload a docker-compose.yml. Services deployed in dependency order.
sh0.yaml IaC
Declarative Infrastructure as Code. Define apps, databases, domains, and cron jobs.
05

Go live

Point your domain to your server. sh0 handles SSL automatically.

DNS + SSL
# Point your domain
A record: myapp.com -> 203.0.113.1
# sh0 auto-provisions SSL
SSL certificate issued for myapp.com
App live at https://myapp.com

What happens during a deploy

Git Clone
Stack Detection
Health Check
Docker Build
Blue-Green Switch
SSL + Route

From git push to live URL -- fully automated, zero downtime

Everything you need

Real-time monitoring

CPU, memory, and network metrics collected every 10 seconds. Alert thresholds trigger notifications to 5 channels automatically.

In-browser terminal

SSH into any container directly from the dashboard. Full terminal emulation with xterm.js over WebSocket.

Encrypted environment

Environment variables encrypted with AES-256-GCM. Build-time and runtime separation. RBAC-enforced access control.

Domains & SSL

Add custom domains, auto-provision SSL, upload custom certificates. URL redirects with regex matching.

Automated backups

Database and volume backups on cron schedules. AES-256-GCM encryption. 13 storage provider destinations.

Auto-scaling

CPU and memory threshold rules. 1-10 replicas with configurable cooldown. Round robin, least connections, or random load balancing.

The old way

  • x Write CI/CD pipelines in YAML
  • x Build Docker images and push to registry
  • x SSH into server, docker pull, restart services
  • x Configure nginx virtual hosts manually
  • x Set up certbot for SSL certificates
  • x Downtime during every deployment

The sh0 way

  • Push code, sh0 builds and deploys automatically
  • Build happens on your server, no registry needed
  • Dashboard, CLI, or API -- no SSH required
  • Caddy auto-configures routing per domain
  • SSL certificates provisioned instantly
  • Blue-green deploys, zero downtime

Questions & answers

How long does a deployment take? +
Typically 30-90 seconds depending on your app's build time. sh0 streams build logs in real-time so you can watch every step. After the initial build, subsequent deploys are faster thanks to Docker layer caching.
What happens if a deploy fails? +
sh0 uses blue-green deployments. The new version is built and health-checked alongside the old one. If the health check fails, the old version keeps running and you're notified immediately. No downtime, no manual rollback.
Can I deploy from private repositories? +
Yes. sh0 supports deploy tokens, personal access tokens, and SSH keys for GitHub, GitLab, and Bitbucket. All credentials are encrypted with AES-256-GCM at rest.
Does sh0 support monorepos? +
Yes. Configure the root directory for each app within the repository. sh0 detects the stack within that directory and only rebuilds when relevant files change.

Deploy your first app in 5 minutes

Install sh0 on any Linux server. Deploy from Git, Docker, templates, or Compose. Live URL with SSL, instantly.