You can move from one Mastodon server to another and take your followers and following with you, but not your posts. The issue for post migration has been open since 2019, has over 300 comments, and is still unresolved. https://github.com/mastodon/mastodon/issues/12423
I think this remains as a deadlock because everyone keeps trying to solve the whole problem at once. Which seems funny, since the new v5 alpha just released on mastodon.social has an empty right column "for future content".
On the fediverse, a post's identity is its address on the server where it was written. A copy on a new server gets a new address. Replies, boosts, and likes on other servers still point to the old one, and the new server can't prove you wrote something in 2019. Doing this "properly" requires protocol changes, and that's why nothing has happened for 7 years.
But I don't think most people care about any of that. They want their posts safe on their profile, to own and browse their posts freely. I think losing old like counts and reply threads is fine, but currently we are losing everything when a server goes down.
Here is my proof of concept. While working on our Mastodon 5 alpha dev server, I needed real content, so I wrote a small script that copies my account's posts from our live server to the test server. It's about 100 lines of Ruby. It reads the public posts through the Mastodon API, creates them with their original dates, downloads the images and videos, and recreates boosts. The posts look like they've always been there.
Mastodon already gives you everything you need for this. Go to Settings, Import and export, Request your archive, and you get a zip with all your posts and media. The import page accepts follows, blocks, mutes, domain blocks, bookmarks, lists, and filters. Posts are the one thing it doesn't accept back.
So the minimum version would be:
- Upload your archive to the new server.
- Your posts appear on your profile with their original dates and media.
- Each post is marked as imported, with a link back to the original.
No protocol changes, no trust problems, and nobody gets their feed flooded. It's your archive, readable on your profile.
Federating the old posts could come later. One idea: a background job that slowly makes the imported posts known to other servers, a few at a time, so it never looks like a flood.
Another idea: send nothing at all and let other servers fetch a post when someone opens it.
But these are just ideas that popped into my head just now.
A read-only archive on your new profile would already be better than what we have now, which is nothing.
#Mastodon #MastoAdmin #PostMigration #Moving #NewServer #Fediverse
@rolle
>a background job that slowly makes the imported posts known to other servers, a few at a time, so it never looks like a flood
You might be interested in looking at https://fediverse.codeberg.page/fep/fep/1580/
FEP-1580: Move Actor Objects with a migration Collection - Fediverse Enhancement Proposals