Is it possible to change lemmy’s domain after I have already started it once and produced some content? I am thinking of moving to a subdomain but I’m not sure if it will go smoothly
Basically, no:
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.
Yeh, It is big fault in ActivityPub design that IDs are linked to domain name. Should not be a case. Some UUID + public keys will make it way more flexible and resilient.
Having a “source of truth” makes many things easier but less resilient. One place to go get the latest version of something mutable. The fediverse/ActivityPub needs to get on board with some form of DID or something similar before worrying about improving the ID system (and the ID system is inherently tied to JSON-LD, so AP would need to stop using that or there would need to be a new version of it) IMO.
I see. Thank you for such a detailed explanation :)
You can, but other servers will not recognize it as the same server.
There are however ways to run your server on a subdomain and make it appear as if it’s still the original domain. Is that what you’re looking for?
That might fit my needs. Could you explain in more details please?
/well-known/webfinger. If you use a reverse proxy on your main domain (example.com), you have it forward traffic from
example.com/well-known/webfinger
tosubdomain.example.com/well-known/webfinger
Is renaming the instance domain without reinstalling Lemmy related to changing the WebFinger query? It’s the trick some instances use to have a different instance domain from their username domain, like @user@domain.com while the instance is mastodon.domain.com.
Yes, that was what I was referring to. However, this is assuming that Lemmy has properly implemented webfinger and doesn’t store direct links (which I haven’t checked).
Alternatively, you could proxy all requests with
application/activity+json
in theAccept
orContent-type
headers.
run your server on a subdomain and make it appear as if it’s still the original domain.
Do you mean make it look like the top level domain? Cause if so, do you have a link I can read a little about? I’m thinking of deploying my own lemmy instance.
It’s possible by having the webfinger endpoints at the “root” while keeping the rest of Lemmy on a subdomain. The main thing that determines the domain in your username is webfinger.
No clue if Lemmy or kbin support this config though, but quite a bit of the microblog-only parts of fedi do, and it’s a widely used thing.
@remindme@mstdn.social
Not impossible but difficult. I would recommend against it.