Updating existing Turnkey appliance

Back in November 2020 I installed a MineOS appliance based on TKL and I appear to be running (via /etc/turnkey_release) the turnkey-core-14.0-stretch-amd64 appliance. Now maybe I misclicked back in November and downloaded an old one, or maybe the new appliance wasn’t there then. Point is today there is an appliance ISO based on TurnKey 16 and I want to upgrade. The Python on TKL 14 is Python 3.5, and I want a more modern python, more modern JDK, etc. I don’t want to lose the minecraft servers and world data that I have on the old appliance.

Reading the docs on TKL, it seems you don’t upgrade in place. They want you to install a new appliance. That’s fine, too. I’m an experienced sysadmin and it’s easy to create a new appliance VM and base it on the new ISO.

How do I migrate my data?

What do I need to migrate in order to get all my Minecraft servers and all their data from the old TKL14 appliance to the new TKL16 one? Is it anything more than copying across /var/games/minecraft? I don’t know what cron(8) or other subsystems might be customised on my old appliance. Will the profiles, scheduled jobs, and other things come across, too?

Did I miss a link to some documentation somewhere? Sorry if I did.

Support it through architecture?

If this is how TKL wants to work, would it make sense to have the appliance built from 2 distinct volumes/virtual hard disks? Then I could put all my “data” (Minecraft servers etc) in one volume, and the appliance/boot system in the other. On Amazon EC2 that would be different EBS volumes (one for the OS, one for data). On my hypervisor (I use xcp-ng, but others use ProxMox, etc.) it would correspond to different virtual disks. That might make upgrading as simple as shutting down the old server, detaching the data disk, launching a new appliance, and then attaching the data disk to the new appliance and arranging the mount point for the right location. Maybe I’m overestimating how useful this would be.

100% of your Minecraft related stuff will be captured by taking the contents from /var/games/minecraft.

The likely simplest way to execute a full server do-over would be to make archives of each server (/var/games/minecraft/archives)–take the files within and place them onto a new installation into the directory /var/games/minecraft/import.

Each of the files in the import directory will show up in the webui and it will recreate the filestructure for your server with the archive contents as the basis.

Of course, if you want to you can preserve your restore points, move /var/games/minecraft entirely . Rsync will be your friend here. MineOS will detect the directories and populate accordingly.

Yes, it would make sense. But I chose this way because I also know that the target audience of MineOS reaches low enough in age that volumes and mount points and its ilk is something that might be faaaaar too intimidating.

There is a docker image that does this model–the data is located on the host, and mounts in the guest–and that is good separation, but again, adds a layer of complexity I didn’t necessarily want to introduce to the flagship instructions.