I am hosting a Dendrite homeserver. However, I’m not happy with the pace of development of the software and I’d like to switch to Synapse.
Is there a documented way to migrate the data (rooms, chat history, users) from Dendrite to Synapse? I’ve used matrix-docker-ansible-deploy to set it up.
This issue/this issue at the corporate Element fork seem to indicate that the process is entirely manual. As in, make a client side backup per account, make all accounts leave all rooms, log out all sessions, kill Dendrite, start Synapse, recreate accounts, restore backups, pray.
Even if you don’t migrate the data, you still need to deactivate all the accounts. If you can’t keep the host signing key material, you also need to make sure all servers know about all users having left or you start getting tons of phantom events and possibly even make existing rooms impossible to join.
As for client backups: I know Element can do backups/data dumps, but I’m not sure about restoring.
Alternatively, you may be able to write SQL migrations to convert Dendrite to Synapse, but that sounds like absolute developer agony.
I think you can safely skip the database migration idea. If it was easy, someone would have done it by now. Probably takes several weeks of full time developer work to do something like that.