Documentation menu
Deploy / v0.1

Back up, restore and remove

Back up a customer-hosted server, restore it onto an empty server, remove it, and the current gaps for upgrades and key rollover.

Reviewed September 27, 2026 · Current implementation

Back up

Terminal
sudo bash deploy/customer/backup.sh /secure/recursift-backup.tar.gz

The backup holds one consistent database snapshot (including the schema ledger and API tables), every configuration and secret file, the database role passwords, the pinned release keys, the TLS certificate and private key, and the installed release receipt. It is written with mode 0600 and refuses a destination that already exists. Only one server operation runs at a time.

Success prints Backup created, followed by a reminder that it contains the database, secrets, pinned keys and TLS keys.

Not in the backup: data held on endpoints, the operating system's configuration, and endpoint state.

Restore

Restore onto a server prepared as for a fresh install, with no Recursift state, database or database roles. Supply the backup, the same signed release it was taken from, and the pinned keys.

Terminal
sudo bash deploy/customer/restore.sh /secure/recursift-backup.tar.gz \
  /media/recursift /trusted/recursift-keys
  • Unpacks the archive and checks every checksum.
  • Reads the original origin from the backup and runs the installer in restore mode.
  • Verifies all four artifact sets again and requires the exact console release recorded in the backup.
  • Recreates the database roles, restores the database snapshot and the original secrets, and starts the services. It does not reapply the schema baseline or API migration over the restored data.

Success prints Restored database and original secrets. Before returning to service, confirm local sign-in, API keys and customer isolation, endpoint reconnection, and a read-only question.

Remove

Terminal
sudo bash deploy/customer/uninstall.sh
# Destructive: also removes the database, its roles, the release, configuration and secrets
sudo bash deploy/customer/uninstall.sh --purge

A normal removal stops, disables and deletes the service units, and keeps the database, database roles, installed release, configuration, secrets, TLS copies, cache and local name mapping. --purge also drops the Recursift database and its three database roles and deletes /opt/recursift/customer, /etc/recursift/customer, the console cache and the loopback name mapping.

Both keep the operating system packages, service accounts, system logs, external backups, original release media, original certificates and every endpoint. Remove endpoints separately.

Upgrades

Neither installation nor startup changes an existing schema. Never run historical schema changes against an installed server; they are recorded in its ledger as baselined, not replayed.

Key and certificate rollover

Continue readingTroubleshoot a customer-hosted server →