Dev
Kamal 2.0 released

Kamal 2.0 released

Making deployments simpler and faster.

We’ve just released version 2 of Kamal, our deployment tool for running web apps directly on VMs or bare metal servers.

Kamal 1.0 was designed with 37signal’s use case in mind — deploying an application across multiple hosts, served with an external load balancer.

With Kamal 2.0 we’ve focused on making it simpler to use at any scale, whether you are deploying your app to 50 servers or deploying 5 apps to a single server.

What’s new?


New proxy

Kamal uses a proxy to seamlessly switch between application versions.

Previously we used Traefik, but its declarative discovery model made it a poor match for Kamal’s imperative design.

Kamal 2 use a custom-built proxy, kamal-proxy. This simplifies deployments by providing a 1-1 mapping between kamal commands and proxy commands.

This has allowed us to build in new features like maintenance mode, pausing requests and canary deployments that will be coming to Kamal soon.


Upgrading

Kamal 2.0 will be installed by default in Rails 8.0. It’s not just for Rails applications though — you can use it for web apps written in any language or framework.

If you already use Kamal 1, we’ve written an upgrade guide.

We are already running HEY deployments on Kamal 2 and are benefiting from faster deployments and simpler configuration. And we will have all our apps running it soon.