I’m curious if I can migrate my instance (a single user) to a different domain? Right now I’m on a free DNS from no-ip but I might get a prettier paid domain name sometime.

  • terribleplan@lemmy.nrd.li
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    It can cause some wackiness… basically you will need to maintain that old domain forever and everything will still refer to that old domain.

    For example, your post looks like this from an ActivityPub/federation perspective:

    {
        [...]
        "id": "https://atosoul.zapto.org/post/24325",
        "attributedTo": "https://atosoul.zapto.org/u/Soullioness",
        [...]
        "content": "<p>I'm curious if I can migrate my instance (a single user) to a different domain? Right now I'm on a free DNS from no-ip but I might get a prettier paid domain name sometime.</p>\n",
    }
    

    The post itself has an ID that references your domain, and the the attributedTo points to your user which also references your domain. AFAIK there is no reasonable way to update/change this. IDs are forever.

    It would also break all of the subscriptions for an existing instance, as the subscriptions are all set to deliver to that old domain.

    IMO your best bet would be to start a new instance on the new domain, update your profile on the old one saying that your user is now @Soullioness@newinstance.whatever and maintain that old server in a read-only manner for as long as you can bear.

    • LordShrek@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      AFAIK there is no reasonable way to update/change this. IDs are forever.

      can’t you just run a postgresql query to update all the post ids?

      • terribleplan@lemmy.nrd.li
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        The problem is the thing has already been federated. Changing the ID in the db will appear to the rest of the fediverse as new things, not as those same things.

        • LordShrek@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          ah ok. well then there would need to be a deeper change and all instances would need to update. have a field for the ID of the instance itself, and a field for the domain. or something like that. would that work?

          • terribleplan@lemmy.nrd.li
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            I think it would need to be a mechanism similar to how user moves are handled where the old thing sticks around forever but has a field that says “the new one is over here” and then the new one has a field that says “yes, I am the same as that old one”. At least I think that’s how e.g. mastodon handles moves of users (just the person/actor, not any of their content. AFAIK nothing in the fediverse can do something like this with anything other than a person/actor at the moment)

          • LordShrek@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            OR, after changing the ID, have the instance publish a “domain_change_notification” that all federated instances would be listening for and then they would update their data.

    • Soullioness@atosoul.zapto.orgOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      That’s a great explanation! Thank you. If I were to make a new instance, could I transfer users to the new instance so subscriptions aren’t lost?