This guide covers how to back up and restore your Discourse site using command line tools, specifically designed for self-hosted environments.
Required user level: Administrator
You can use the below placeholders to automatically fill out the command line prompts in this guide:
Backing up
To create a backup of your Discourse site, follow these steps:
- Enter the container:
./launcher enter app
- Run the backup:
discourse backup
exit
This will print out the final filename of your backup. Download the backup and container configuration (if needed) to your local machine:
scp =USER=@=HOST=:/var/discourse/shared/standalone/backups/default/=FILENAME= .
scp =USER=@=HOST=:/var/discourse/containers/app.yml .
Restoring
To restore a Discourse backup, follow these steps:
- Install a Discourse site on the server you are restoring to.
If you’re testing this procedure multiple times, you can wipe the data on your test server.
Wipe Discourse data (optional)
./launcher stop app
./launcher destroy app
rm -r /var/discourse/shared/standalone/
mkdir -p /var/discourse/shared/standalone/backups/default/
- Upload the backup file:
scp =FILENAME= =USER=@=HOST=:/var/discourse/shared/standalone/backups/default/
- Enter the container and start the restore:
./launcher enter app
discourse enable_restore
discourse restore =FILENAME=
If you happen to forget what the filename was, run the “discourse restore” command by itself to get a list of available backup files.
For a two-container setup, use
./launcher enter web_only
and replacestandalone
withweb-only
in the path to backups.
For additional information about restoring Discourse backups, see Restore a backup from the command line.
Last edited by @SaraDev 2024-08-23T20:50:17Z
Check document
Perform check on document: