Kamal Desktop Manager

Kamal Desktop Manager mascot, a camel wearing glasses and a head wrap

Kamal Desktop Manager is a desktop app for the Kamal apps you run. It brings deploys, logs, host metrics, the proxy and a Rails console together, instead of a terminal tab for each.

Point it at a folder with config/deploy.yml and it reads the config through Kamal itself, so destinations, roles and hosts always match what kamal sees.

What it does

  • Containers: running versions, stale containers from half-finished deploys and the ones kept for rollback, per host and role, with CPU, memory and disk refreshed every 5 seconds.
  • Runs: deploy, redeploy, roll back, lock and unlock with streamed output. Every run is kept with its git SHA, duration and full log.
  • Logs: follow any container with --grep and --since, then pause, search and copy.
  • Proxy: which hostname routes to which container, whether TLS is on, and a per-minute view of 2xx–5xx responses from kamal-proxy.
  • Console: an embedded terminal running kamal app exec -i, so the Rails console is one click away.

How it works

Writes go through your own kamal CLI, with your Ruby from rbenv, asdf or mise, so there’s no re-implemented deploy logic to drift from upstream. Reads go straight over SSH: one multiplexed connection per host runs a single batched command per poll.

There’s no server and no agent on your hosts. It uses your existing ~/.ssh/config, refuses hosts that aren’t in known_hosts, never stores secrets, and asks for a typed confirmation before touching production.

It’s written in Rust, MIT licensed, and available for macOS 11+ on Apple Silicon and Intel. Windows and Linux builds are planned. Source and releases are on GitHub.