How to migrate to a different server?

I am going through a little bit of growth on my instance, and successfully migrated assets to S3, but will soon also have to switch servers (either on this hoster or another one).

Has anyone migrated a running instance to another server? What was your rough workflow?

I suspect something like:

  • migrate docker containers over (can they just be copied?)
  • set up alternative hostname on new host
  • give old host an nginx proxy config to new server
  • flip over DNS names

In this scenario, I figure I’d rsync over the data files (databases, mostly) once during downtime after everything else is in place.

What am I missing? Any advice is appreciated!