Steps involved to downgrade from 2GB to 1GB on DO?

When I initially setup my install, I was under the impression that I needed a 2GB server. Apparently, that’s not the case from additional reading since then. What steps are involved in downgrading on Digital Ocean?

I’m hoping I can just select a new plan and then rebuild Discourse…

1 Like

Hey Brandon :slight_smile:

1 GB is the very minimum. I’m not sure what a difference between 1 and 2 will make for a small community, though. Personally, I’d prefer to be careful and not stick to the strict minimum.

For the server’s downgrade, I’d advise asking DO directly.

When you build Discourse, it configures some stuff depending on the server’s specs in app.yml.
Typically:

  ## How many concurrent web requests are supported? Depends on memory and CPU cores.
  ## will be set automatically by bootstrap based on detected CPUs, or you can override
  UNICORN_WORKERS: 4

I don’t know if it automatically changes the value when we rebuild, or if there’s something more manual to do.

In any case, deploying a new droplet and reinstalling Discourse is so easy and fast, it should be troubleless. Just keep a copy of your app.yml somewhere to easily get some useful info (email provider info, plugin list, etc) if you reinstall.

2 Likes
  1. Create the new VPS
  2. Create a backup file from the existing site and download it to local machine.
  3. Copy the contents of app.yml from the old server to a local file or in notepad.
  4. Point your domain to the new VPS IP, or switch in the public IP you already had on your VPS provider if that’a a feature
  5. Make sure docker installed on your new VPS (follow their guide to install it as required)
  6. Follow the standard install instructions up to the point but not including the discourse setup script
  7. Create the app.yml file in the containers directory (touch app.yml) and paste in the contents from your old VPS using something like nano
  8. ./launcher app rebuild on the new server
  9. use rake admin:create from the Discourse directory to give you an admin account
  10. login, set Allow Restore to true on settings, upload your backup you created earlier and restore.
  11. Check everything is good.
  12. Delete the old VPS after a time.

Done.

7 Likes

Worth noting, if the local storage size remains the same, one can seamlessly resize a droplet to have more or less RAM. But storage size can not shrink, so to move to a droplet with less storage would mean a backup and restore.

In any case, before any migration, I would take a backup and download it.

I have in the case of DO migrated up and down with RAM, and indeed I think I’ve done the same with Hetzner. The local storage and IP address stay the same, just a few minutes downtime.

3 Likes

Good information everyone.

Essentially, it looks like I need to build a new server, no easier way around it. Then, I’ll need to stare and compare my app.yml file, then upload the backup file. Finally, repoint IPs.

After reading your replies, I found some other useful tips since I have to go this route.

3 Likes

Thanks, your checklist was very helpful!

You might want to add a step between #8 and #9: ./launcher enter app