Upgrading¶
Production installs¶
cd MonsterOps
git pull
sudo bash deploy/upgrade.sh
The upgrade script:
- Stops the running service
- Installs the updated package into the existing virtual environment
- Re-provisions VPN tooling (idempotent — safe to re-run)
- Runs any pending database migrations
- 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_KEYdirectly; rotate it withmonsterops rotate-secret-keywhile the old key is still set. See Configuration → Rotating the secret key. - "pending migrations" banner — run
monsterops migrate(oralembic upgrade headfrom a checkout).
Related: Installation · Configuration.
MonsterOps