migrating aarch64 install to x86

So I’m thinking to migrate a central Syncthing server on a aarch64 SBC to a new, stronger x86-based server. Ideally I would like to do that transparently for the peers, the new box will receive the same IP.

Question is, can I just copy the whole files from data folders and Syncthing config folder over to the new box and it will “just work” (assuming paths stay the same), or do I have to take care of something?

Bonus question: to my understanding my own, local device ID is stored in the 4 *.pem files and the config.xml file stores all the remote peer IDs. So in fact pem and xml files are not linked, I could swap the *.pem files and the node would have a new ID (a problem for the peers, of course), but my local install would work fine - correct?

Thank you!

If everything relevant is the same (data, paths, mtimes, permissions if not ignored) that works.

Only 2 pems. The https ones are just for the web UI. Other than that all correct. Except one thing (might be wrong though and it gets cleaned up somehow): The own device id is also added to config. So you probably end up with the old id as a “remote device” when swapping the pems.

Thank you for confirmation - I feared Syncthing might use some non-portable info like inode number per file to detect changes as some backup tools do for performance optimization.

You are also right on the second point, in config.xml is a device entry for the local device with its ID. Probably all devices in config.xml are compared to the ID from *.pem and if one matches it is assumed that’s the local one. Simple and robust strategy. And if none matches, an entry is autogenerated? - would need to be tested but would also make sense.

Thank you!

1 Like

That definitely happens.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.