Helmsman is a local browser UI for managing Kamal deploys from a project directory.
Download the binary from here and run the binary from the root of the project you want to manage. For example, for a Rails app that deploys with Kamal:
From the Helmsman source directory:
cargo build --releaseThe compiled binary will be created at:
target/release/helmsmanYou can run it directly from that path, or copy it somewhere on your PATH.
Optional local install:
mkdir -p ~/.local/bin
cp target/release/helmsman ~/.local/bin/helmsmanMake sure ~/.local/bin is on your shell PATH if you use the optional install.
Run the binary from the root of the project you want to manage. For example, for a Rails app that deploys with Kamal:
cd /path/to/my-rails-app
/path/to/helmsman/target/release/helmsmanIf you copied the binary to your PATH:
cd /path/to/my-rails-app
helmsmanHelmsman uses the current working directory as the active project. On startup it searches that project for:
deploy.ymlIt checks the project root first, then the conventional Kamal path:
config/deploy.ymlIf neither exists, it searches subdirectories for the first deploy.yml it can find. Kamal commands still run from the project root where you started Helmsman.
Then open:
http://127.0.0.1:3000
kamal deployandkamal app detailsare run from the project directory where you started Helmsman.- The config editor reads and writes the discovered
deploy.yml. - Deploy history is stored in
helmsman.sqlitein that project directory. - Helmsman passes through
HOMEandSSH_AUTH_SOCKto Kamal. - Helmsman runs Kamal with the current shell
PATHfirst, then appends/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin. - If the project has
.ruby-versionand the matching Ruby exists in RVM, Helmsman adds the matching RVM Ruby and gem paths before running Kamal.