gitlab.com
8 votes alexgleason — 8 votes, 11 commentsSource

oh nice! I’m glad to see that you were able to make the migration! Are you:

  1. reading all objects with the ORM from mastodon
  2. serializing each object in a text file, one json per line
  3. reading the text file and creating new ORM objects with pleroma

? That’s a lot of work but migrating from/to completely different schemas is not trivial at all!

RDBMS schemas are set in stone and hard to change. That’s why nosql exists.

Thinking about this… since ActivityPub is based on RDF, if they were using a triple store instead of tables, moving from mastodon to pleroma would have taken zero effort on migrating the database.

Exactly. It exports a bunch of .txt files with each line as a serialized JSON object, then imports them the same way. I successfully did the migration on gleasonator.com and planning to do more once I’ve added a few features to Pleroma and soapbox-fe

What it doesn’t migrate

Are those non-goals or WIP?

Both, potentially. It took 12 days of tireless effort and I was really exhausted by the end, so I didn’t do things like reports and moderation logs, but I’d like to support them. Some other things, like remote posts, I decided don’t makes sense to migrate because it takes too much time. The repo includes a script to rebuild old conversation threads after the migration.

Mastodon has client integrated with the server. Pleroma has client separate from the server. Have you tried using the pleroma client with the mastodon server? The activitypub api should be the same.

The problem is the server. Mastodon is extremely resource-intensive. My Soapbox Frontend was actually a Mastodon client originally, and I ripped it out to make it work with Pleroma. Now my server costs are like 1/8th what they were originally.

My question was: can’t you use clients interchangeably? pleroma-fe with mastodon, or soapbox with pleroma without changes. Wasn’t the UI part your problem?

Very interesting project. Unfortunately, it will break at the first database change.

Did you tell moonman about it? =D