Docs / Getting Started / Upgrading

Upgrading

Production installs

cd MonsterOps
git pull
sudo bash deploy/upgrade.sh

The upgrade script:

  1. Stops the running service
  2. Installs the updated package into the existing virtual environment
  3. Re-provisions VPN tooling (idempotent — safe to re-run)
  4. Runs any pending database migrations
  5. Restarts the service

PyPI installs

pip install --upgrade monsterops
monsterops migrate          # apply any new migrations
# restart however you run it (systemctl restart monsterops, etc.)

Always run monsterops migrate after upgrading — a new version may add schema changes.

Back up first

Take a backup before upgrading production

The upgrade script does not implement automatic rollback yet. Take a pg_dump before upgrading a production instance, or use System → Database Backup from the UI.

pg_dump -Fc radius > monsterops-$(date +%F).dump

Problems you may hit

  • Service won't start after upgrade — check journalctl -u monsterops -n 100 --no-pager (see Logs). A failed migration is the usual cause; restore your backup and open an issue with the log.
  • NAS Manager logins or AD-delegated auth break after changing the secret key — the key that encrypts stored credentials changed without re-encrypting them. Never change MONSTEROPS_SECRET_KEY directly; rotate it with monsterops rotate-secret-key while the old key is still set. See Configuration → Rotating the secret key.
  • "pending migrations" banner — run monsterops migrate (or alembic upgrade head from a checkout).

Related: Installation · Configuration.