You have some other web server running. Did you install acme and nginx to enable https? If so, you should remove them and search for something like #howto https
My original server is currently setup with DNS/https.
Now I’m trying to figure out when it’s safe to point DNS to new server … I’m confused on this transition step, and the impact https/letsencrypt has on it.
Do you have a floating IP address set up at DigitalOcean?
Assign a floating IP
A floating IP is a static IP address that points to one of your Droplets. It allows you to redirect network traffic to any of your Droplets in the same datacenter. For instance, if your primary Droplet goes offline, you can point your floating IP to a backup Droplet.
When your domain name points to the floating IP, then it becomes much easier to shift traffic from one instance to another as there is no wait for DNS info to propagate.
You probably need to speak to DigitalOcean about this, we can’t support their one-click installs here. They’re billed as being simpler, and that may be true if they’re willing to support it, but we can’t.
The only supportable configuration is from the Standard Install Guide which will incidentally bypass all of the issues you’re mentioning above.
One caveat to note is that due to the nature of enrollment for Let’s Encrypt you can’t set a certificate back up without first repointing DNS. Let’s Encrypt needs to connect to your server by the DNS record specified.
Another thing to be aware of is that accessing Discourse by IP is totally unsupported.
I would recommend doing the standard install, that way we can at least help you with the process.
That’s true, but the biggest problem with their one-click install is that it doesn’t tell people that they should
cd /var/discourse
./discourse-setup
If you do that, it’s pretty much a Standard Install. (And if you don’t, you don’t get swap enabled, which will cause problems for 1 & 2GB Droplets, among other problems.)
This problem is really about the difficulty of moving from one host to another when you have https on, and that you can’t run let’s encrypt if the DNS doesn’t point to the new server. The “simple” solution is to rsync over /var/discourse, but that involves a handful of tiny little things that can go wrong.
That’s the missing guide I’ve been searching for, thanks. I didn’t realize that information wasn’t on the meta.discourse site. I’ll do the standard install.
Following the guide seems to have worked, thank you!
After getting discourse installed, I followed the steps to load my backup that I made from my older server.