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.
Just update DNS to point new name at your IP, and modify config files to change the name. Shouldn’t cause any issues if you’re not hosting communities.
What if I did host communities? Not that I plan too.
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.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?
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.
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?
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)
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.
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?
I know that is an often discussed and requested feature, but as of right now there is no import/export as far as I am aware.
i don’t think that that would be too difficult to implement