Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CHANGELOG.md claims Conduit could not be replaced with conduwuit without data loss #3975

Open
luixxiul opened this issue Jan 20, 2025 · 2 comments
Labels
bug docs This issue is related to documentation

Comments

@luixxiul
Copy link
Collaborator

Describe the bug

CHANGELOG.md claims that Conduit could not be replaced with conduwuit without data loss.

The homeserver implementation of an existing server cannot be changed (e.g. from Synapse/Conduit/Dendrite to Conduwuit) without data loss.

On the other hand, conduwuit claims that it is possible to migrate from Conduit as long as both use the same database:

conduwuit is a complete drop-in replacement for Conduit. As long as you are using RocksDB, the only "migration" you need to do is replace the binary or container image. There is no harm or additional steps required for using conduwuit. See the Migrating from Conduit section on the generic deploying guide.

I guess the entry on the change log should not include Conduit, IIUC.

To Reproduce

See above.

Matrix Server:

Irrelevant.

Additional context

Adding the link to the migration guide on our docs would be nice 😄

@luixxiul luixxiul added bug docs This issue is related to documentation labels Jan 20, 2025
@spantaleev
Copy link
Owner

I think I saw some conflicting information, but you're right - migrating from Conduit to conduwuit appears to be possible, as long as you're on a recent-enough Conduit (which uses the RocksDB database).

Perhaps we can change our CHANGELOG & docs to say that by relocating files, etc., the migration may be possible. Setting up a well-working guide will take time for us (we'll need to set up a test server with Conduit, use it a bit, then do a migration and document the steps).

It may be a bit similar to the Gitea to Forgejo migration guide I recently worked on (and went through twice for different Gitea servers, which polished it up further). Thankfully, Postgres is not used, so dumping the database and changing ownership (conduit -> conduwuit) will not be necessary. We probably only need to deal with moving files around.

I'm not sure I'll have the time (and motivation) to go through all that for a Conduit to conduwuit migration guide, so this could be left to someone else in the community. We may update our docs with these details and pointers and ask for help from someone who is currently on Conduit and has an interest in going through with the migration to conduwuit.

@girlbossceo
Copy link

Just for the record; conduwuit is meant to be a drop-in replacement for Conduit. RocksDB has always been the recommended database even for Conduit so it shouldn't be impactful for most people, and even then there's a public tool out there that can convert from SQLite to RocksDB as the only migration preparation.

Other than one small caveat, people can simply replace the Conduit binary with conduwuit. We only stopped providing backwards compatibility migration (conduwuit -> Conduit) recently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug docs This issue is related to documentation
Projects
None yet
Development

No branches or pull requests

3 participants