What each backup protects
Control-plane backup excludes ordinary application volumes, model weights, uploads, logs, audit archives, node-link private key, and an optional offline product-license file. Preserve Engine configuration separately in protected storage. After rebuilding a machine, plan to re-link its account connection and reinstall any applicable offline entitlement.
Take and store backups
Configure retention
Control-plane and physical volume backups are retained indefinitely by default. Configure a limit deliberately:backup-retention.toml
Restore the control plane offline
1
Prepare the target
Use a compatible Nerdit version and restore the protected Engine configuration, including the original data directory and any
secrets_key_file override. Run restore as the service user whose configuration points to that directory. Preserve current state before replacing it.2
Stop the managed Engine
First stop every application or database container that writes to data you will restore. Use
nerdit services stop NAME while the Engine is available, then verify each writer is stopped with nerdit services list. On a damaged target, an operator must stop the affected containers directly. Stopping the Engine alone leaves application and database containers running.Then use the platform service manager, for example sudo systemctl stop nerdit.service on a Linux system installation. Confirm it has stopped and keep all writers stopped until data restoration is complete. Do not use nerdit init to restart an installed Engine, or restore into a live data directory. The Engine’s restore lock does not exclude an independently running database container.3
Restore one selected archive
4
Restore managed volumes before startup
For each matching physical database backup:The manifest identifies the target database. Restore other application data separately, with writers stopped. The control-plane archive alone cannot recreate missing database contents.
5
Start and verify
Start through the service manager, then run:Open each important application, test a representative data read, and check certificate trust. Re-link through the App if needed. Diagnose unavailable resources before changing or deleting their restored state.
Recover an interrupted restore
If control-plane restore was interrupted, keep the Engine stopped and rerun the same archive. This completes the key/ciphertext/database replacement consistently. Do not rotate the secrets key or initialize an empty Engine as a substitute. Caddy trees present in the archive replace the corresponding live trees. Trees absent from an older archive are preserved. Restoring certificate and ACME account state avoids unnecessary reissuance; check expiry and network reachability before declaring HTTPS recovered. For a source-only Redis logical restore, the old append-only directory is retained asappendonlydir.pre-restore-<stamp>. An interruption between renames may require an operator to finish the swap offline. Preserve both directories and stop the database before inspecting them; do not delete the retained original while diagnosing recovery.
The restore lock relies on flock; do not place the data directory on NFS if you depend on its exclusion guarantees. Native Windows restore is unsupported; use Linux, macOS, or WSL2.