AccessRig
A one-command install/upgrade/uninstall wrapper for JumpServer on Ubuntu & Amazon Linux EC2 boxes.
By Yousaf Hamza
JumpServer is built and maintained by Fit2Cloud and the
JumpServer open-source project.
AccessRig is an independent deployment wrapper around the official
jmsctl.sh tool from
jumpserver/installer — it doesn't fork or modify JumpServer's code.
Every example on this page pins
--version explicitly. This is deliberate —
silently grabbing "latest" means you don't know what you're actually running until after the fact.
Check what's available first with --list-versions below.
Check available versions
curl -fsSL https://yousafkhamza.github.io/accessrig/install.sh | sudo bash -s -- --list-versions
Install (fresh box)
curl -fsSL https://yousafkhamza.github.io/accessrig/install.sh | sudo bash -s -- \
--version "v4.10.18" \
--domain "jumpserver.yourdomain.com" \
--org-name "YourOrg" \
--timezone "Asia/Dubai" \
--language "en"
Checks/installs Docker if missing, downloads that exact release from jumpserver/installer, and runs the official jmsctl.sh install / jmsctl.sh start.
--domain matters more than it looks. It sets DOMAINS in JumpServer's shared config —
what Django's CSRF Origin check actually trusts. Skip it, and the first time you access JumpServer over HTTPS through a
real domain you'll very likely hit CSRF Failed: Origin checking failed. Add --interactive to be prompted for it instead.
Update / upgrade (in place)
curl -fsSL https://yousafkhamza.github.io/accessrig/install.sh | sudo bash -s -- --version "v4.10.18"
Re-running the same command detects the existing install (by checking whether JumpServer is actually running, not a bookkeeping file) and switches to update mode — downloads that version, runs jmsctl.sh upgrade (which takes its own DB backup automatically), then jmsctl.sh start.
Version management
--list-versions | List recent upstream releases, marks which one (if any) is currently installed. |
|---|---|
--current-version | Print just the currently installed version and exit. |
--version <tag> | Required in every example above — pins install/update to a specific tag. Also works as a force reinstall against the version you're already on. |
--confirm-downgrade | Required alongside --version when the target is older than what's installed — downgrading a DB-backed app isn't automatically safe, so this is opt-in even though a backup is always taken either way. |
Uninstall
# Safe default — stops everything via jmsctl.sh down, leaves your data untouched
curl -fsSL https://yousafkhamza.github.io/accessrig/uninstall.sh | sudo bash
# Full wipe — takes a final backup first, asks you to type DELETE to confirm
curl -fsSL https://yousafkhamza.github.io/accessrig/uninstall.sh | sudo bash -s -- --purge-data
Full source
See the repository for the full scripts and README.