Skip to Content
Product GuideBack up and restore

Back up and restore

Run ./lens backup and ./lens restore from the installation directory. Backup and restore gives each step, the archive’s contents and every refusal.

Two primary stores are backed up together: the database (evidence bodies, the sealed identity joinSealed identity joinStored links between employee fingerprints and teams or services. The fingerprints replace readable employee identifiers. Product pages do not show the links for individual people., the audit trail) and the three meshMeshA set of connected Mycelium services that exchange updates and keep the NovusLens log. volumes (the canonical logCanonical logThe permanent history of changes to an organisation’s model. New entries are added at the end. Earlier entries stay when the database is rebuilt.). A backup of one store alone, or of the two at different moments, cannot be reconciled.

  • ./lens backup stops the mesh nodes, copies the four volumes, dumps the database, then starts the mesh nodes again. Plan it for a quiet period.
  • ./lens restore <archive> --yes checks the whole archive and .novuslens.env first, and refuses a damaged archive or a changed file with nothing changed. It then takes a pre-restore backup of the current state, replaces the volumes, restores the database in one transaction and starts every service.
  • The archive holds .novuslens.env, with its secrets and identity saltIdentity saltA secret value added before employee identifiers are turned into fingerprints. Keep the same value so later imports can still match existing people., so only your user can read it. Keep each archive as private as that file. A restore with no .novuslens.env in place puts the archive’s copy there.

A stopped installation keeps its Docker volumes, but retained volumes are not a backup. Copy each archive to another disk or host. Setup’s resume journalInstallation journalA saved record of setup steps, their attempts and whether they started, completed or failed. It records progress, not a backup of application data. records completed setup steps; it is not a backup of the twinTwinNovusLens’s model of one organisation, built from records about its teams, services and how they rely on one another. It is only as current as those records..

A restore returns data, not code. The archive records the release it came from, and a restore into another release is refused unless you add --allow-release-mismatch. See Upgrades and re-pins before a release change.

Record the location, frequency, retention and the last restoration evidence in the handover sheet.

Read more

Last updated