benbrown / shuttlecraft

a single user activitypub server - join the federation!
https://shuttlecraft.net
MIT License
264 stars 30 forks source link

Feature: migration support (embark/disembark in shuttle terminology) #67

Open ringtailsoftware opened 1 year ago

ringtailsoftware commented 1 year ago

Feature request, support migration to/from Mastodon.

From what I've seen, migrating to Shuttlecraft just needs us to add knownAs to the account, then we will acquire new followers when Mastodon tells them to move.

To move from Shuttlecraft to Mastodon (once the user sets up knownAs on their target server), we just send all followers an ActivityPub Move message telling them where we've gone to.

https://github.com/mastodon/mastodon/pull/9629 https://www.w3.org/TR/activitystreams-vocabulary/#dfn-move

aTylerRobertson commented 1 year ago

Not sure if this will help, but I was just able to migrate my personal account from Hometown (a Mastodon fork) to Shuttlecraft with these steps:

In .data/account.json, add this object to the @context array:

{
  "alsoKnownAs": {
    "@id": "as:alsoKnownAs",
    "@type": "@id"
  }
}

Then add alsoKnownAs value to the actor object, with the value set to the ID of the old account. For example, here's what I added to move from my previous account:

  "alsoKnownAs": "https://goshdarn.fun/users/tyler",

Then, I was able to log into my Mastodon account and begin the move with these steps. That sends the Move request to my followers, and everyone automatically began following my new account.

benbrown commented 1 year ago

Thanks for the update!