Free, open source

Deploy to any server, zero downtime

A single Go binary. SSH into any server. Three lines of config. Zero-downtime deploys with automatic rollback. No management server, no dependencies.

brew install useteploy/tap/teploy
Quick start →

$ cat teploy.yml

app: myapp

domain: myapp.com

server: 1.2.3.4

$ teploy deploy

Building from Dockerfile...

Starting new container on port 3001

Health check passed

Routing traffic via Caddy (HTTPS auto-provisioned)

Stopping old container

Deployed in 14s. Zero downtime.

Want a web UI?

Run teploy ui for a local dashboard, or deploy teploy Dash standalone for 24/7 monitoring with HTTP/TCP health checks. Same binary, same state files — no desync.

Dash →

Everything you need to ship

Zero-downtime deploys

New container starts, health checks pass, traffic routes, old container stops. Automatic rollback on failure.

Automatic HTTPS

Caddy provisions and renews TLS certificates automatically for every domain.

Multi-server

Deploy to multiple servers in parallel with load balancer configuration.

Accessories

Postgres, Redis, MySQL alongside your app. One-line config, managed by the CLI.

Preview environments

Deploy branches to temporary URLs with auto-expiry. One command.

Auto-deploy

Webhook listener for CI/CD. Push to main, teploy deploys automatically.

Backups

S3-compatible volume backups with cron scheduling and database-aware dumps.

Encrypted secrets

Environment variables and encrypted secrets persisted across deploys.

VPN mesh

Tailscale or WireGuard networking across your servers. One command.

How teploy compares

teployKamalCoolifyDokploy
Management server requiredNoNoYesYes
Single binaryYesNo (Ruby)NoNo
Config lines to deploy3~20GUIGUI
Auto HTTPSCaddyKamal ProxyTraefikTraefik
Preview environmentsYesNoYesYes
No UI desyncYesN/ANoNo
Uptime monitoringBuilt inNoNoNo