Help centre / Backups and restore
Backups and restore
Every night, the database and every file, in one archive. Here is what is in it, where it goes, and how to put it back.
Backups
Kept on a schedule you set
Every night at 02:00
Last one 7 September, 02:00 · 41 MB
Keep the last 30
30 held · oldest 8 August
Download a copy
The database and every file
What is backed up
One ZIP holds everything: the SQLite database, taken with SQLite’s own online backup so it is consistent even while people are using the app, and every uploaded file, in the same folder structure the app keeps. A small backup.json inside records when it was taken, by what, and how many files it holds.
When
Once a night at 02:00 in the server’s own time zone. The newest 30 archives are kept and older ones are removed, so a file deleted from a client has left every backup within 30 days.
Under Settings, then Backups, an admin sees whether the nightly run is on and how many it keeps, then every archive listed with its date, its size, how many files it holds beside the database, and whether it was taken nightly or by hand. Each row has a Download link. Back up now takes one straight away.
Where the copies go
Backups are written to a folder beside the database. If you run Docsroom yourself, choose it with these settings:
# Where backups are written (default: backups/ next to data/)
BACKUP_DIR=/srv/docsroom/backups
# When to take it and how many to keep
BACKUP_TIME=02:00
BACKUP_KEEP=30
# Set this to turn the nightly run off altogether
BACKUP_SCHEDULE=off
Settings
Rennick & Vale · as an admin sees them
Two-factor sign-in
6 of 6 staff have it on
Client links
Expire after 90 days · withdraw any time
Where you are signed in
This Mac and an iPhone · sign out the others
Backups
Last night at 02:00 · Back up now
Taking one now
Before an upgrade, or before anything you would rather be able to undo, take a backup by hand, either with Back up now on the Settings page or on the server. It is recorded like any other.
npm run backup
Restoring
Stop the app first; a restore refuses to run while the app holds the database. Then point the restore at the archive you want. It replaces the database and the uploads folder with the contents of that archive, and nothing else.
npm run restore -- backups/docsroom-20260905-020000Z.zip
Start the app again and sign in. Everything is as it was at the moment the backup was taken, so anything added since is gone and everyone signs in again. Reminders scheduled after that moment will not be sent twice; the schedule looks forward from when the app comes back. The steps are written out in docs/DEPLOY.md.
Keep one somewhere else. Now and then, download last night’s archive from the list and keep it away from the server, so there is a copy that does not depend on it.
Exporting a client
A backup is for us to put the whole service back. If you want your own copy of a client’s files, or you are leaving, use Download all files under a client’s Client actions menu: every file, organised by pack and request, as one ZIP. You can do that at any time on any plan, and it is recorded in the download history.