Kamal offers zero-downtime deploys, rolling restarts, asset bridging, remote builds, accessory service management, and everything else you need.
Rolling deployments ensure your application stays available during updates. No more maintenance windows.
Deploy to any server with SSH access. Cloud VMs, bare metal, or your own hardware. You own your infrastructure.
SSH-based deployments with no open ports. Secrets management built-in. Your credentials stay safe.
Manage databases, Redis, and other services alongside your app. Everything in one configuration file.
Something went wrong? Roll back to any previous version instantly with a single command.
Intuitive commands for every operation. Deploy, rollback, logs, and shell access all from your terminal.
Define your entire deployment in a single deploy.yml file.
Servers, environment variables, accessories, and more.
service: my-app image: user/my-app servers: web: - 192.168.0.1 - 192.168.0.2 job: hosts: - 192.168.0.3 cmd: bin/jobs proxy: ssl: true host: app.example.com registry: username: user password: - KAMAL_REGISTRY_PASSWORD env: clear: DB_HOST: 192.168.0.4 secret: - RAILS_MASTER_KEY
Kamal gives you the simplicity of a PaaS with the control of your own infrastructure.
Get started with Kamal in minutes. No credit card required. No vendor lock-in. Just deploy.
$ gem install kamal