All topics

Backing Up Your Server

NAS Reborn backs itself up, to another NAS Reborn device or to any S3 bucket. Every backup is encrypted before it leaves the device, so whatever holds it can never read a name or a byte of it.

Where a backup can go

One engine serves every kind of destination and everything on this page behaves the same way for all of them:

Open Settings → Backups, choose Add Backup Destination… and then paste the invitation or enter S3 credentials manually. Both cases end the same way, with the recovery phrase.

The recovery phrase

Backups are encrypted on this device before a byte leaves it, under a key created for the destination and never sent there. You need that key to restore, so it is kept in two places:

  1. The recovery phrase, which is shown once when the destination is created. Print it, put it in a password manager or send it somewhere safe with the share sheet. To restore on a fresh device you need only the destination and this phrase.
  2. iCloud Keychain escrow, which is on by default. The key also syncs privately through your iCloud Keychain, so another device of yours can restore without the phrase. You can switch escrow off per destination, and everything then depends on that piece of paper.

What gets included

Each destination has a What's Included screen. "Back up everything" covers all your folders including the ones created later, or you can check exactly the folders you mean. Folder sizes are measured and shown, and when the capacity of the destination is known the screen tells you whether the selection fits, is getting crowded because history needs room to grow, or does not fit. A folder holding a Time Machine backup can be capped from the same screen so it never crowds out the rest.

Repositories are not offered, so keep a clone of one somewhere else. A vault you host for someone else is not offered either.

Snapshots and history

Every run leaves a snapshot rather than overwriting a mirror, so deleting a file today does not take it out of the backup from yesterday. The Keep History screen sets how many days of snapshots are kept and how much space the destination may hold. For a commercial bucket that budget is yours to set, while a NAS Reborn host states its cap in the invitation and enforces it.

When space runs short the oldest snapshots are dropped first and the current run continues. The app tells you when history is being squeezed, and a vault too small to hold even one backup says so.

When backups run

Backups run nightly while the device is plugged in and not running hot. Back Up Now runs one on the spot, and a backup falling behind shows a banner in the app that leads to it.

Browsing, restoring and verifying

All Backups lists every snapshot at the destination. A snapshot opens as a browsable tree straight from its encrypted index, where you can preview single files, export any folder to the Files app or the Finder, or Restore Everything from the top level of the snapshot. Verify downloads and decrypts every object in a snapshot to prove it would restore, which browsing on its own does not do.

When a device is lost

On a new device signed into the same iCloud account, Settings → Backups lists the backups your other devices keep with one section per device. Tap one to see its snapshots. Nothing is set up by looking and you can browse and restore from there directly. Take Over Backing Up makes the new device the one backing up to that destination. Only one device can write into a vault, so the old one is refused with a message saying so if it still lives. Without iCloud, the recovery phrase and the address of the destination do the same job.

Restoring without the app

Nothing about a backup depends on the app, on this site or on the App Store. Every vault holds, in plain text beside the encrypted objects, a short Python script named nas-reborn-restore.py that lists snapshots, restores them and verifies them from the files and the recovery phrase alone. The same script is published here so you can read it before you ever need it. It is also the written specification of the vault format, so anyone can check what the app does or write a reader of their own.

To use it you need the vault as a folder on a computer, and Python 3 with the cryptography package:

python3 -m pip install cryptography

A vault hosted on another NAS Reborn device is a folder on that device, so its owner can copy it onto a drive or share it over the network drive of the app. From a commercial bucket, copy the nas-reborn-backup prefix down with any S3 tool, for example rclone:

rclone copy remote:bucket/nas-reborn-backup vault/nas-reborn-backup

Then list the snapshots and restore the newest one:

python3 nas-reborn-restore.py list vault
python3 nas-reborn-restore.py restore vault restored

The script asks for the recovery phrase and refuses anything it cannot verify. --snapshot picks an older snapshot and --path a single folder or file, verify checks a snapshot without writing anything, and rescue rebuilds a best guess from the encrypted headers of the blobs when every snapshot index is lost. Without the phrase nothing here helps. The key kept in iCloud Keychain can only be used by another Apple device signed into your account, from inside the app.

Free and Pro

One destination is free, with full snapshot history, full restore and full verification. Backing up to more than one destination is Pro. Restoring never needs Pro.