Wheels 4.0 brings a new command: `wheels deploy`. ...
# wheels-dev
p
Wheels 4.0 brings a new command:
wheels deploy
. It's a port of Basecamp's Kamal into the Wheels CLI — zero-downtime Dockerized deploys to Linux servers over plain SSH. No Ruby runtime, no gem install, no second tool to learn. <Deployment Guide> What you get: • One command from laptop to production:
wheels deploy
• Full Kamal subcommand surface (50+ commands across 9 sub-command groups): app, proxy, accessory, build, registry, secrets, server, prune, lock, plus rollback/audit/details at the top level • Zero-downtime rollover via kamal-proxy (the same Go binary Kamal uses) • Secret adapters out of the box: 1Password, Bitwarden, AWS Secrets Manager, LastPass, Doppler •
--dry-run
on every verb Byte-compatible with Ruby Kamal on the server side — container names, labels, Docker network, lock paths,
.kamal/secrets
,
.kamal/hooks/*
all match exactly. A host managed by Ruby Kamal can be taken over by
wheels deploy
without cleanup. One deliberate divergence:
deploy.yml
does not support ERB. Kamal's native
${VAR}
env-var interpolation is preserved unchanged, so most ERB-using configs convert mechanically —
<%= ENV["APP_NAME"] %>
becomes
${APP_NAME}
.