Stop configuring.
Start shipping.
Deploy any Docker image to your own server with a single command. Automatic HTTPS, zero-downtime, preview deployments. No config files. No platform fees.
Or just type zero deploy.
Features
See it in action.
Every feature is a single command. No config files, no web UI, no YAML.
demo cpu ██████░░░░░░░░░░░░░░ 28.3% memory ████████████░░░░░░░░ 312 MB / 512 MB (60.9%) net ↓ 1.2 MB/s net ↑ 340 KB/s
Deploy anything
Give it a Docker image. zero detects the port, assigns a domain, provisions HTTPS, and routes traffic. One command, nothing to configure.
Automatic HTTPS via Let's Encrypt. HTTP redirects. Zero-downtime — health-checked before traffic switches.
Preview environments
Add --preview pr-21 and get a temporary deployment with its own subdomain. Share the link, review, merge. Previews expire automatically.
Every PR gets a live URL. No infrastructure changes needed.
Instant rollback
Something wrong? One command. The previous image is started, health-checked, and traffic is swapped. If the health check fails, nothing changes.
No downtime. No manual intervention. No second-guessing.
Live metrics
CPU, memory, and network stats streamed to your terminal in real time. No Grafana dashboard to set up. No Datadog bill to worry about.
Works for apps and previews. Stream server logs with zero logs --server.
Webhook auto-deploy
Push to your container registry and zero deploys it automatically. HMAC-SHA256 verified. Non-matching tags create preview deployments.
A single signed POST triggers a deploy. Works with GitHub Actions, Docker Hub, or any CI system.
Docker Compose
Multi-container apps with one command. Upload your Compose file, specify the entry service, and zero handles the rest — pulling, starting, health-checking, routing.
How it works
Every deploy. Same four steps.
Predictable, atomic, safe. If anything fails, traffic stays on the previous version.
Pull
Image pulled from the registry with stored credentials
Start
New container on an ephemeral port. Old one keeps serving.
Health check
TCP or HTTP check. Fails? New container is discarded.
Swap
Route updated atomically. Old container removed. Done.
Quickstart
Five minutes. Not five hours.
A Linux VPS and a domain. That's the entire requirements list.
Why zero
Platform DX.
Self-hosting price.
You own the server. zero handles everything else.
zero is a single-server deployment engine. One server, any number of apps. If you need multi-node orchestration, team RBAC, or a web dashboard — zero is not the right tool. And that's by design.
Your server.
Your rules.
Install zero and ship your first app in minutes. Open source and MIT licensed.