Skip to main content
Zero-downtime deploys, plus a control plane you can see Kamal is deliberately minimal: no server component, just SSH from your machine or CI. Levelrail keeps readiness-gated cutover and adds a dashboard, history, rollback and observability. Get started | View on GitHub

What a control plane adds

State you can inspect

Desired state lives in a database and a reconciler records a status condition with a reason after every pass, so you can see why something is not ready.

History and rollback

Every deploy is recorded with its pinned image. Rolling back is switching to an image that is still there.

No SSH from CI

Servers run an agent that dials out to the control plane, so CI talks to the API with a scoped token instead of holding SSH keys.

Kamal and Levelrail, side by side

Kamal is a sharp tool for people who want the fewest moving parts. These are the design differences. Read the full comparison

From a deploy script to a platform

1

Install the control plane

One script on a Linux server.
2

Deploy an image

Use the CLI or the dashboard and watch the readiness gate.
3

Wire CI to the API

Use a scoped API token from GitHub Actions or any pipeline.

Frequently asked questions

Yes, by design: it is a control plane with a database and a dashboard, while Kamal has no server component. The control plane idles at a small footprint, which the case studies page measures.
Yes. CI calls the API or CLI with a scoped token. See the GitHub Actions guide.
No. You point Levelrail at the same images and recreate configuration.
Yes. Apache 2.0, one edition.

Keep the zero-downtime idea, add the dashboard

Try it on one server beside your current setup. Get started | View on GitHub
Last modified on October 12, 2026