Backup and restore
The daily backup to site storage, what it holds, and how to restore it.
Daily backup
The backup service writes one backup a day to the site storage mounted as BOOLE_BACKUP_DIR (an SMB or NFS share; flow F9). Nothing is sent anywhere else. The last 7 backups are kept.
Each backup is a folder boolex-<UTC time> holding:
- a copy of the site configuration (
/config); - every table of the platform store as CSV: code model, documents, work orders, parts, process data, alarm events, data gaps and the audit trail;
- a manifest with each table's row count and SHA-256 hash.
Run one now:
docker compose -f deploy/compose.yaml run --rm backup python -m settings.backup /backup
Restore
A restore loads a backup into a freshly migrated, empty store. The audit trail is inserted again, which its append-only rules allow. See Restore a backup for the steps.
python -m settings.backup --restore /backup/boolex-20261103T020000Z
Retention
After each backup the same service applies the retention policy: process data and alarm history older than BOOLE_RETAIN_DAYS (365 by default, at least 90) are removed from the store. Journal photos are deleted after the site's media_retention_days (30 by default).
What is not in the backup
The feedback, journal and photos on the assistant's data volume, and the secrets in deploy/secrets/, are not in the store. Back up the data volume and keep a copy of the secrets with the site's own procedures.