I think you could do an archive of all code or rsync, copy vhost files, move import db dumps and after manually dns changes to the new ip;
you will need a downtime period/
I've been looking for a way to do that for ages. It's not that hard to automate a lot of it.. you could auto-dump all the mysql databases, rsync the dumps along with all the sites to the new server, you could even rsync the nginx vhosts, and then auto-restore all the mysql databases. You could do that with the mysql users as well.
The only big problem for me is that Laravel Forge would not sync the sites on the new server.
I guess one way would be to use the Laravel Forge API to recreate all the databases, users and sites on the new server. And THEN rsync everything.
Would love it if there was an easier way to do all that!!
BTW I've been wanting to move from DigitalOcean to Linode!! @Skaisser Why do you say Linode is dead? Did you write this before their big hardware upgrade where they now offer double the ram and faster servers in general for the same price point compared to DO ?