Rails deployment for a shared host, multiple developers, zero shared secrets.

Bosun is a .deb-packaged CLI for deploying Rails apps on argus-tty-managed Ubuntu hosts — tiered developer/deployer/admin Linux accounts, a git deploy key shared across the team instead of everyone's personal key, and app secrets locked to a single unprivileged service account, not a shared group.

The problem bosun actually solves isn't "how do I deploy Rails" — every tool answers that. It's "how do five developers deploy the same box without all sharing root, a personal SSH key, or read access to DATABASE_URL." Bosun provisions each app with its own ACL-locked shared/.env (root + a single service account only, not the group every developer is in), a shared per-app git deploy key instead of N personal keys, and require_role() checks on every subcommand that reuse argus-tty's existing sudoers whitelist — no new sudo privileges are ever granted to deploy an app.

sudo add-apt-repository ppa:yadavramlaxman/argus-tty && sudo add-apt-repository ppa:yadavramlaxman/bosun
sudo apt update && sudo apt install argus-tty bosun   # or the .deb package — see Installing below
sudo bosun bootstrap                                  # one time per host: RVM multi-user

Full install guide, including the .deb-package alternative and verifying the install: Installing.

No argus-tty? Skip the first line — bosun falls back to a single-operator standalone mode automatically: no tiers, no separate service account, one account does everything. A deliberately reduced security posture for one person on their own box, not a lighter-weight substitute for argus-tty on a shared one.

sudo bosun add myapp              # provision /var/www/myapp (admin, one time)
bosun install myapp               # ruby/gemset + OS build deps (developer/admin)
bosun setup myapp                 # releases/shared/config tree (developer/admin)
bosun deploy myapp main           # clone, build, symlink, restart, rollback-on-fail (deployer/admin)

What it does

How it compares

Capistrano, Mina, and Kamal all answer "clone, build, symlink, restart" well — that's not where bosun differs. None of the three has a concept of tiered Linux accounts or ACL-locked secrets at all: they assume one deploy identity (a shared SSH key, a CI token) with full access to everything the deploy needs, because they're solving the deploy choreography, not who-on-the-team-can-touch-what on a box several people share.

CapabilityBosunCapistranoMinaKamal
Tiered developer/deployer/admin accounts✓———
Secrets ACL-locked to one service account✓DIYDIYDIY
Shared per-app deploy key (not personal)✓DIYDIYDIY
No new sudo privileges to deploy✓n/an/an/a
Works without Docker✓✓✓Docker-only
Full bash script override per app✓Rake tasks/hooksRake tasksconfig DSL
Automatic rollback on failed health check✓pluginmanual✓

"DIY"/"n/a" means the tool itself has no opinion here, not that it's impossible to bolt on yourself. Capability cells describe design intent as of this writing, not an independent re-test of every release — re-check before quoting externally.

Documentation

Guides

Links