Backup operations allow administrators to protect platform data against loss.
ngdpbase has two separate layers of data that require different backup strategies.
A complete backup requires both.
Found at Admin → Backup Management.
The Create & Download Backup button:
backup() on every registered manager<timestamp>-amdwiki-backup.json.gz| Data | Notes |
|---|---|
| Configuration settings | All ngdpbase.* config keys |
| User accounts and roles | Usernames, hashed passwords, role assignments |
| Access control lists | Page-level permissions |
| Attachment metadata | Filenames, hashes, MIME types, page links |
| Search index | Rebuilt automatically if missing |
| Data | How to back up |
|---|---|
Page files (.md) | Copy $SLOW_STORAGE/pages/ |
| Attachment binary files | Copy $SLOW_STORAGE/attachments/ |
| Page version history | Included in $SLOW_STORAGE/pages/ copy |
| Media files (photos/videos) | Back up media source folders at the OS/NAS level |
Important: The Backup Data button alone is not a complete backup.
Without a filesystem copy of your pages and attachments, you cannot fully restore the platform.
Back up the following directories using your OS, NAS, or cloud backup tool:
| Directory | Contains |
|---|---|
$SLOW_STORAGE/pages/ | All page markdown files + version history |
$SLOW_STORAGE/attachments/ | All uploaded attachment binary files |
$FAST_STORAGE/ | Users, sessions, config overrides, logs, search index |
FAST_STORAGE and SLOW_STORAGE are set in your instance .env file.
Media files are read-only to ngdpbase — it indexes them but does not own them.
Back up media at the storage level (NAS, external drive, cloud).
The media index (media-index.json) is regenerated automatically on the next scan via
Admin → Media → Rescan. It does not need to be backed up explicitly.
When Auto Backup is enabled, the server automatically runs the structured backup at the
configured time and day(s). Configure it at Admin → Backup Management.
Auto backup covers only structured data (same as the manual button).
It does not back up page files, attachments, or media.
Backup Configuration System has the following values:
ngdpbase.backup*
| Key | Value |
|---|---|
ngdpbase.backup.auto-backup |
false |
ngdpbase.backup.auto-backup-days |
daily |
ngdpbase.backup.auto-backup-interval |
86400000 |
ngdpbase.backup.auto-backup-time |
02:00 |
ngdpbase.backup.compress |
true |
ngdpbase.backup.directory |
${SLOW_STORAGE}/backups |
ngdpbase.backup.max-backups |
10 |
ngdpbase.backup.provider |
filebackupprovider |
.json.gz file in a safe location (cloud storage, external drive)Or enable Auto Backup to have this run automatically on a schedule.
Use your OS, NAS, or cloud backup tool to snapshot:
$SLOW_STORAGE/pages/$SLOW_STORAGE/attachments/$FAST_STORAGE/ (or at minimum the users/ and config/ subdirectories)Back up your configured media folders independently.
.json.gz backup filerestore() on each manager in sequenceStop all traffic to the platform before restoring in a production environment.
Restore replaces live data.
./server.sh stoppages/ and attachments/ directories back to their original locations./server.sh start.env with the same FAST_STORAGE and SLOW_STORAGE pathspages/ and attachments/ from backup to $SLOW_STORAGE/users/ and config/ from backup to $FAST_STORAGE/.json.gz structured backup