finds.dev

basecamp/kamal

Deploy web apps anywhere.

View on GitHubHomepage ↗

★ 14,664RubyMITupdated Oct 2026

// compared · The Best Self-Hosted PaaS and Heroku AlternativesSee the alternatives →

// the take

Kamal is Basecamp's deployment tool for shipping Dockerized web apps to any server via SSH, with zero-downtime deploys handled by its companion proxy. It's aimed at teams who want Heroku-like deploy ergonomics without the Heroku bill, especially Rails shops but works with any containerized app.

Zero external dependencies beyond SSH and Docker — no agent to install on target servers, which keeps the attack surface and operational burden small. The secrets adapter system supports a real range of backends (1Password, Bitwarden, Doppler, AWS/GCP secret managers) rather than just dotenv. Test suite includes actual Docker-based integration tests that spin up load balancers, registries, and multi-role deployments, not just unit mocks. Config validation layer catches bad deploy.yml setups early instead of failing mid-deploy.

SSH-based orchestration doesn't scale well past a handful of servers — there's no real clustering, service discovery, or rolling update coordination beyond what SSHKit sequential/parallel execution gives you. Zero-downtime relies entirely on kamal-proxy, a separate young project, so debugging proxy issues means jumping to another repo with its own learning curve. No built-in rollback safety net beyond redeploying an old image tag — state management for databases/migrations during rollback is left entirely to the user. Documentation lives in a separate repo (kamal-site), so this README tells you almost nothing about actual usage, forcing a context switch before you can evaluate it.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
14,664
Forks
761
Language
Ruby
License
MIT
Last commit
20 Oct 2026

// nearby

If kamal isn't quite it.

All repos →