Create, download, and restore a backup of your Discourse database

Discourse allows site administrators to create and download a copy of the site’s database. The backup can then be uploaded and restored to any Discourse forum.

Discourse backups include the full site database, which contains everything on the site: topics, posts, users, groups, settings, themes, etc. Depending on how the backup file is created, it may or may not include uploads. See the next section for details.

Though the data created by plugins exist in the database, the plugins themselves are installed in your app.yml file. To restore your site to a new server you will need to make sure that your installation includes the plugins you require.

Create the backup

Go to the Admin / Backups section of your site and click the Backup button.

A modal window will open asking you whether or not you would like to include the site’s uploads in the backup.

:warning: If your site is hosted by us and you would like to create a backup that includes uploads, contact the Discourse team before creating the backup.


Click either of the buttons to initiate the backup.

Download the backup

When the backup is complete, Discourse will send you a notification.

Click the link in the notification to return to your Backups page. Then click the Download button.

Discourse will then send you an email that contains a link that can be used to download the backup to your computer.

Clicking the link will open your browser’s file manager and allow you to save the backup to your computer.

Upload a backup

To upload a backup, go to the Admin / Backups section of your site and click the Upload button.

This will open your browser’s file manager. Select the backup from your file system and click the file manager’s Open button. The new backup file will be displayed in the file list.

Restore a backup

:warning: If your site is hosted by us, the Restore button in the screenshot below will be disabled. After uploading the backup file, contact the Discourse team and let us know the name of the backup file that you wish to restore. We will restore it for you.

:warning: Restoring a backup file will overwrite all data on the site. When the backup is restored, you will be logged out of the site and need to log back in with your credentials from the restored site.

:warning: Make sure the site you are restoring into is running the same version of Discourse as the old site. It is best to update both sites to the latest version before running the backup/restore process.

If you are not one of our hosted customers, before you are able to restore your backup file you need to select the allow restore site setting. Then click the Restore button.

The restore process automatically sets the disable emails setting to “non-staff”, so emails aren’t sent to your site’s users until you’re ready.

Last edited by @hugh 2024-05-29T06:21:54Z

Check documentPerform check on document:

Is there a way to create and download this backup file programmatically? I mean, I have some cron scripts on the server which do backups for tons of other services, can I issue a few CLI commands directly on the server to get the backup there? Maybe ./launcher app backup new-backup.backup or so?

The backups are in /var/discourse/shared/standalone/backups

You can start a backup with

./launcher run app discourse backup


docker exec app bash -c “discourse backup”

I think.