Backup only Site Settings


(Vaishak Kallore) #1

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


(Daniela) #2

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.


(Jeff Atwood) #3

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


(Vaishak Kallore) #4

Alright.

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?


(Jay Pfaffman) #5

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 https://discourse.example.com 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.


(Vaishak Kallore) #6

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:


(Jay Pfaffman) #7

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.