Let’s say I want to move my Discourse site from one Amazon EC2 instance (e.g. t2.micro) to a larger instance (e.g. t2.medium), what is the correct procedure for this?
The only option I know about is:
Backup the existing site
Install Discourse on the new server
Configure Discourse using temporary values
Restore the backup
However, I’m thinking that the smart people at Discourse thought about this situation and there’s a way to restore a backup on a new installation without step 3.
Scouring the site, I wasn’t able to find a definitive answer.
I did look at Move your Discourse Instance to a Different Server, but the instructions seem to imply that a generic installation is already active on the target server and that you can log in and immediately perform a restore.
@pfaffman thank you for helping with this question, there’s one spot where I’m still a bit unclear.
On the new server (assuming the prerequisites are already installed), after cloning the Discourse repository, do I still need to run discourse-setup? I don’t believe it’s possible to issue the commands
until after setup completes. Or am I incorrect? If I am correct, this is the part I’m referring to, you have to essentially provide a set of default values before you are able to perform a restore.
Yes, you still need to set up Discourse, but you can just use the same app.yml that you use on the old instance (or type them in to discourse-setup if that’s easier for you). But you have to have all of those values for a running Discourse anyway, so it’s not “temporary” values, but the values.
The command-line restore saves the you time of creating a temporary admin account that you’d use just to restore the backup.
서버 사양을 변경하는 경우, discourse-setup을 실행하는 것이 유리합니다. 이 도구는 스테이킹의 특정 측면(unicorn 워커 및 DB 공유 버퍼)을 처리하고 app.yml을 자동으로 구성합니다. 단순히 폴더를 복사하는 것만으로는 이러한 작업을 수행할 수 없습니다.
저는 app.yml에서 해당 매개변수를 수동으로 조정할 계획입니다. 현재와 마찬가지로 같은 서버에서 Discourse와 다른 Docker 기반 앱 몇 개를 병렬로 실행할 예정이므로, Discourse만 단독으로 실행되는 경우 서버 사양에 따라 설정이 적용하는 수준보다 리소스 사용량을 약간 낮게 조정해 두었습니다.