Push to deploy from any Git provider
Connect GitHub, GitLab, or Bitbucket. Every push triggers a build. Every PR gets a preview. Zero CI/CD configuration needed.
Built for every Git workflow
Webhooks, credentials, branch filtering, and deploy automation -- all handled natively.
19 stacks detected automatically
Push your code. sh0 identifies the framework, generates a production-ready Dockerfile, and builds your app -- zero configuration.
How it works
Connect your repo
Paste your repository URL and add a deploy token or SSH key. sh0 supports public and private repos across all major Git providers.
Set up the webhook
sh0 generates a unique webhook URL and secret. Paste them into your Git provider's webhook settings -- takes 30 seconds.
Push code
Push to your configured branch. sh0 receives the webhook, clones the repo, detects the stack, builds, and deploys -- fully automatic.
Get notified
Deploy hooks send results to Slack, Discord, Telegram, email, or any webhook endpoint. Know instantly if a deploy succeeded or failed.
The deploy pipeline
From git push to live URL -- fully automated, zero-downtime
Everything you need
Blue-green deployments
Zero-downtime deploys. sh0 starts the new version alongside the old one, health-checks it, then switches traffic. Instant rollback if it fails.
Preview environments
Every pull request gets its own isolated environment with a unique URL. Review changes live before merging to production.
Real-time build logs
Watch your build and deploy in real time via WebSocket streaming. Every line, as it happens, directly in the dashboard.
Signature verification
Every webhook is verified with HMAC SHA-256. Forged or tampered payloads are rejected before any action is taken.
Encrypted credentials
Deploy tokens and SSH private keys are encrypted with AES-256-GCM at rest. Never stored in plaintext, never logged.
Branch filtering
Deploy only from specific branches. Push to main deploys to production. Push to staging deploys to your staging environment.
19 stack auto-detection
sh0 identifies your framework from package.json, requirements.txt, go.mod, Cargo.toml, or 15 other markers. No configuration needed -- push and deploy.
Code health scoring
34 security and configuration rules checked before every build. Hardcoded secrets, debug mode, missing .dockerignore, and 31 more issues caught automatically.
The old way
- x Write CI/CD pipeline configuration files
- x Create and maintain Dockerfiles manually
- x Push images to a container registry
- x SSH into server, docker pull, restart services
- x Configure nginx and SSL certificates
- x Downtime during every deploy
The sh0 way
- Connect repo, push code, deployed
- Auto-detected stack, auto-generated build
- Built and deployed on your server directly
- Blue-green deploys, zero downtime
- SSL provisioned automatically by Caddy
- Live in 60 seconds, every push
Questions & answers
Do private repositories work? +
Does sh0 support monorepos? +
Can I deploy from specific branches only? +
What happens if a webhook delivery fails? +
Which stacks does sh0 detect automatically? +
Does sh0 generate Dockerfiles automatically? +
Deploy on every push. Automatically.
Connect your repo, push code, get live URLs with SSL. No CI/CD pipelines to maintain. No servers to SSH into.