Praetor Backup, Update, And Restore

Praetor separates app code from company state:

Updating the app should not recreate the company. Use the operator CLI so Praetor can back up first and verify the app after restart.

Safe update

Installed users should run:

~/.praetor/praetor/scripts/praetor.sh update

The update command:

1. checks Docker, Git, state, and workspace access

2. creates a pre-update backup archive

3. fetches the configured branch

4. rebuilds and restarts the Docker app

5. waits for /health

6. prints the kept state/workspace paths and backup archive

Advanced options:

~/.praetor/praetor/scripts/praetor.sh update --no-backup
~/.praetor/praetor/scripts/praetor.sh update --skip-health

Avoid those options for normal use. They are intended for development and recovery situations.

Create a backup

Installed users:

~/.praetor/praetor/scripts/praetor.sh backup

From a repo checkout:

bash scripts/backup_praetor.sh

This writes a timestamped archive under:

Restore

Installed users:

~/.praetor/praetor/scripts/praetor.sh stop
~/.praetor/praetor/scripts/praetor.sh restore /path/to/praetor-backup-YYYYMMDD-HHMMSS.tar.gz
~/.praetor/praetor/scripts/praetor.sh restart

The restore command replaces the backed-up state, workspace, config, and bridge logs with the archive contents.

Manual repo-checkout restore:

1. stop Praetor

2. run the restore script against the archive

3. restart Praetor

bash scripts/restore_praetor.sh backups/praetor-backup-YYYYMMDD-HHMMSS.tar.gz .

Notes