SiroPing
Open App
Community · Pro · Business

Upgrade

The safe upgrade sequence with preflight, automatic backup and explicit rollback.

Upgrade

Standard sequence: backup → upgrade → migrate → doctor → rollback/restore on failure. Supported: current version → next version.

Steps

cd /opt/siroping
git pull                                # or replace the release
./venv/bin/pip install -r requirements.txt

# 1) Preflight — refuses to run if disk is low or backup is stale
python manage.py upgrade_check

# 2) Upgrade — mandatory backup -> migrate -> collectstatic -> check -> doctor
python manage.py upgrade

# 3) Restart the three services
sudo systemctl restart siroping-web siroping-worker siroping-beat

# 4) Verify
python manage.py doctor                 # Overall: HEALTHY

When the upgrade fails

manage.py upgrade reports which step failed and the path of the pre-upgrade backup. There is no blind auto-rollback (code + schema rollback isn't always safe):

sudo systemctl stop siroping-web siroping-worker siroping-beat
python manage.py restore /path/to/pre-upgrade-backup --yes
python manage.py migrate
sudo systemctl start siroping-web siroping-worker siroping-beat
python manage.py doctor

Preflight rejection

upgrade refuses to run if:

  • Disk free < 0.5 GB
  • No previous backup, or the last backup is older than 96h
tip

Upgrade on a schedule, and always take a manual `manage.py backup` right before, even

though upgrade already backs up.

Moving between servers ≠ upgrade

Moving a customer from the demo to their own server is migration, not an upgrade — see Migration.

Was this page helpful?