Backup only Site Settings

I would like to know the possibility of backing up Only Site Settings, just as opposite of what was asked here

The purpose is to replicate forums for different clients. If I can replicate settings, its easy to proceed with different categories, topics & users.

Please advise.

PS: I couldn’t understand by reading this

I think @zogstrip suggested entering the forum database you want to replicate (via SSH), clone the site_settings table into that database and replace that particular table in each new site you’re going to create.


I believe @techapj has expressed interest in this feature but we do not have it yet.



So, I need to install Discourse as usual and take this step to replicate the settings. Will the instance version different make any conflicts here?

If we have to get the forum logo to new one, we will have to re-upload this, I suppose. Am I right?

Save https://yoursite/admin/site_settings.json. Use GitHub - pfaffman/discourse-settings-uploader: Install a Discourse settings JSON file to a site to upload them.

To install these settings to another site

Do this:

./discourse-settings-uploader HOSTURL API_KEY API_USER SETTINGS_FILE

For example:

./discourse-settings-uploader d35989078a system site_settings.json

One caveat: It uploads only settings that are marked as changed. This means that if there’s some setting that’s changed on the site you’ve uploaded that you want to restore to default with the script it won’t work. The solution is to edit the JSON file so that the default value there doesn’t match the value you want to set.

Now what’s needed is a way to easily download all themes and then upload them. Uploading
a set of files shouldn’t be hard to do. Downloading themes by hand could be tedious, so some automated way to get all of them would be nice.


This sounds good. Will try this method next time I create a new forum.

I hope Discourse version difference will not make any issue, however I do update forums on regular basis… :slight_smile:

1 Like

As long as the setting is available it will be set. Settings that don’t exists can’t get set, but make only that it doesn’t get set. For example, if you have a plugin installed on the system your are copying from its settings exist only if the target system has the plugin as well. When that happens an error is presented for each unavailable setting.


Oh this would be such a life saver feature.

See here: Administrative Bulk Operations