Site Migration Questions

Hello, all. I’m in the process of attempting to move a Discourse site to a new website and transition all S3 site assets to a new account. The gist is…we have a second company emerging from an original parent company and the Discourse site needs to move to the second company’s systems (and web domain).

I’m going to preface this by acknowledging that this isn’t a best-case scenario and I have some tricky limitations to work around. The main issue I’m running into is the fact that I don’t have access to DNS settings on the original domain and getting changes made to it will likely take several weeks. The other main issue is I do not have root-level credentials for the AWS account hosting the S3 buckets that are in use.

We have already transitioned all email to the new SES account and I have an A record set on the new subdomain pointed towards our DigitalOcean droplet hosting Discourse. Predictably, this redirect issues an SSL warning before redirecting to the original URL that Discourse is already configured with. That is fine, and I suspect that will resolve itself when we reconfigure Discourse with the new base domain. However, I have several questions -

  • When re-running the Discourse setup wizard and re-configuring it for the new URL, is there any way that I can maintain a redirect from the old URL without changing the A record that is already set? I suspect that DigitalOcean and the Discourse install will continue redirecting to the new URL but will throw angry SSL warnings in the process.

  • Will the Discourse setup wizard automatically reconfigure the Let’s Encrypt SSL certificate or is that a manual process that I should factor in?

  • When migrating S3 buckets to a new AWS account, will the credentials Discourse uses be sufficient for copying the bucket contents or will root-level credentials be required? Are there any big challenges I should be aware of with this?

Thank you all for your help. I have grown to appreciate this community a lot even though I barely post. And even though I’m still very new at this…I’m learning!

1 Like

If you have access to the current server, you might be able to

./launcher enter app
rails c
SiteSetting.include_s3_uploads_in_backups=true
exit
discourse backup

to get a backup that includes the S3 assets. You could then restore them to the new site, regardless of whether you have S3 set up on the new site.

If you can’t change the A record, then you can’t change the A record. If you have access to the server, you might set up a web server that does nothing but 301 to the new URL.

./discourse-setup will set up Let’s Encrypt. The Setup Wizard is something else.

2 Likes