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-versionsList recent upstream releases, marks which one (if any) is currently installed.
--current-versionPrint 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-downgradeRequired 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.