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.
./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.
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.
현재 사이트 설정을 파일로 내보내기/백업할 수 있는 옵션을 추가해 주신다면 정말 좋겠습니다. 그리고 새 포럼 사이트에서 해당 파일을 가져와서 동일한 사이트 설정을 사용할 수 있게 해 주시면 좋겠어요. 혹시 이 기능을 구현해 주실 수 있는 분 계신가요? 사이트 데이터와 설정 전체를 복제하고 싶을 때 정말 유용한 기능이 될 것 같습니다.
현재 포럼 전체를 복제하고 싶을 때, 사용자 데이터/토픽/게시물/사진 등뿐만 아니라 제가 설정한 방식 그대로의 디스커스 관리자 및 플러그인 설정까지 복제하려면 어떤 옵션이 있나요? 혹시 조언해 주실 수 있는 분 계신가요? @pfaffman
현재 제가 저장할 수 있는 것은 app.yml 파일과 discourse 폴더뿐입니다. 이 폴더 안에는 shared라는 이름의 폴더가 있는데, 여기에는 모든 DB와 사용자가 업로드한 파일이 들어 있는 것 같습니다.
새 포럼을 생성하세요. 현재 포럼을 백업하세요. 해당 백업을 새 포럼에 복원하세요. 두 포럼이 백업에 동일한 S3 버킷을 사용한다면 몇 단계를 줄일 수 있습니다.
위 방법으로 이미 모든 플러그인 설정 및 사이트 설정, 이미지/업로드/DB/게시물/토픽 등을 백업하는 것이라면, 왜 수동으로 '사이트 설정만 백업’을 해야 하나요?
다음 3단계를 따를 경우, 사이트 내보내기가 사이트/플러그인 설정은 물론 DB와 파일 업로드까지 완전한 백업을 제공하게 되나요?
새 포럼 생성.
관리자 UI 대시보드에서 백업 섹션으로 이동하여 현재 포럼 백업 (명령줄이 아닌 UI에서 진행하는 것이 맞죠?)
2단계에서 얻은 이 새 백업을 복원하여 1단계에서 만든 새 포럼에 삽입.
아직 백업용 버킷이 없습니다. 제 포럼은 단순히 DO 드롭렛에 호스팅되어 있고, 서버의 var/discourse/shared 폴더 안의 디렉토리에만 존재합니다. 그런데 왜 제 discourse 도커 yml 파일은 /www/discourse에 있는지 이해가 가지 않습니다. 모든 discourse 파일이 서로 다른 경로에 있는 이 두 폴더에 분산되어 있는 이유를 모르겠습니다. ?