So we signed for a new instance and we had two choices: build a new server or migrate the server over (host company unfortunately doesn't provide tools for that). Building a new server and reinstalling services and migrating configurations is not always fun and I don’t know all the details that go into that, so I decided to try to copy the server over. Since we wrote a tool for taking snapshot, why not use that? First problem was that this server doesn’t have Xorg installed, so I had to use a special version of the mx-snapshot, that I call iso-snapshot-cli that has the Xorg dependencies stripped and it can run only in CLI – and that’s when hours of work on something that seemed a bit irrelevant at that time started to pay off… So, I adjusted the exclusion list, excluded the big files that we were serving and took a snapshot. It took just about 5 minutes and produced a 400MB .iso file that I was able to boot on the new instance and install. BTW I installed this in CLI using cli-install tool that was adapted from cli-installer-antix which is a very handy tool and much user-friendly and less buggy than something like Arch installer (maybe not with as many options).
Installation was smooth and quick but had a bit of problems to boot into the installed system because I forgot to install GRUB on the old instance and I struggled to chroot and install GRUB from the live environment when it was not even present. Once I figured that out it was relatively easy to fix, had to chroot and install GRUB then I rebooted and everything pretty much worked. Had to recreate some mount points in /etc/fstab and that was pretty much it, changed sources to Buster, updated, restarted, then changed sources to Bullseye, updated and restarted, everything worked fine… pointed the URL to the new IP address and we are up and running with a new instance. This was much less pain than expected.
So, if anybody has a Debian server that they want to migrate or even only backup, give iso-snapshot-cli a try.

Some things to keep in mind
- You need to enable MX sources (add GPG key for the repo) and install iso-snapshot-cli from there
- Make sure you have GRUB installed on the server (or after you install make sure you install and set up a different bootloader – probably need to chroot to do that)
- I had some esthetical issues with the GRUB menu names because /etc/lsb-release was not present, I think I fixed that in the iso-snapshot-cli code, it should tolerate the file absence better.
- Sometimes is difficult to decide which configuration scripts to keep, Debian’s or MX’s you might need to examine the differences and see if it makes sense.
- Some settings are not reserved or need to be changed manually, for example the previous server had a vmnet0 network interface that was manually set up, the new one has something called ens3 so it required some small configuration changes..
- Ultimately, by using this tool you get a hybrid system, running sysvinit, not systemd by default because that’s how MX is set up, but you can always change that. You get some MX apps and versions, but that’s only some extra stuff on top of Debian, I'm very happy that we this compatible with Debian and pleasantly impressed how well this worked for me.