As part of cleanup and cost-cutting I had to recently moved my WordPress installations from one server to another. To make matters a bit more complicated the new server was not a cPanel based one. So, I had to move my WordPress instances, but not really the user accounts that held them as such.

After getting a bit frustrated with WordPress MU and going through several plug-ins for static sites (neither of which really worked…), I finally found something that did.

Enter: UpdraftPlus - Backup/Restore plug-in

The free version was enough to get the job I needed done. It’s quite a robust plugin that functions as a backup, but also works really well for migrating sites to a new server while maintaining the same domain name.

With docker on the other end the process ended up being quite simple:

  1. Install Updraft on the old WordPress instance
  2. Run the plugin and backup everything
  3. Create a new docker instance (I've used the official Wordperss image)
  4. Use /etc/hosts to access the new WordPress install under the old domain
  5. Setup the new WordPress instance - doesn't matter really what details you use, as we'll override everything soon enough
  6. Install the Updraft plugin
  7. Upload the backup files downloaded earlier
  8. Press restore and enjoy your new site!

So much easier than trying to deal with the native export tool WordPress provides that unfortunately doesn’t cover plugin or theme settings.