While it was an interesting and sometimes confusing experience setting up and running my own Lemmy instance (looking at you, 20 character limit on federation URL), I think it’s not worth it.
Now the time has come to decommission the service, is there a proper way to do that? I don’t mean the local part, that’s on docker and gone with 3 lines of bash input. I mean the overall process. How do I tell other instances that mine won’t be available any longer? I noticed a constant stream of federation pushes, even with everything deleted and purged. Shutting down the instance won’t help either, the requests will simply 404 then, but won’t stop, which in itself is only logical. Has anyone done this before and could shed some light on this situation?
Edit: So I played around with the logs some more, there seemed to be an issue with communities that are on “subscription pending”. I restored an older database which had all the entries, removed any federation restrictions and tried again from scratch, leaving and joining again until all communities were properly subscribed to.
Then:
- Unsubscribe
- Remove
- Purge
Just to be sure the entries are gone. As of 15 minutes ago, Traefik hasn’t logged a single connection to my instance.
Edit2:
Turns out that wasn’t it. My instance is on 0.17.4, and even with every community unsubscribed and purged, I’m being hammered by lemmy.world activity_pub events. The formatting is also different, I think that’s because they moved to the 0.18 RC stage. So it looks like something somewhere didn’t get the unsubscribe announcement.
Edit 3:
So I tried moving to 0.18-RC. Which now means lemmy.world is trying to push the inbox to the frontend? WTH…
I’m not sure when or if other servers will stop pushing, but did you unsubscribe from all communities before doing so?
Would be interesting to see if that would stop incoming traffic.
I did. Unsubscribed, then purged from the local DB. I’ll work through the logs, see what the other instances are trying to push.
That would be good to know, yes. And unless someone has a definitive answer, it would also be interesting to know how much traffic you’d still be receiving if you kept it off for a week, or a month.
Edited the main post. Seems like there was an issue with “pending” subscriptions. Maybe in combination with being on 0.17.4
Super useful info! Thank you for your research.
Why do you think it’s not worth it? What was your experience running it?
Overall it was fine, took a moment to find the proper Traefik settings, but after that it ran basically fine. It’s just too “unstable” for me at the moment from a development standpoint, moving too rapidly. Maybe I’ll do another one once it has matured and slowed down a bit.
Can you share what Traefik settings you configured Lemmy with? Mine was just a simple router and service with a compress middleware.
I found it easy to get the front end showing but the backend stuff required a little trial, error, and searching to get sorted. Here’s a part-example of what I needed to make sure the correct traffic was sent to the back end (this is using a yaml file, not inline in a compose file):
rule: "(Host(`domain.com`) && (PathPrefix(`/pictrs`) || PathPrefix(`/api`) || PathPrefix(`/feeds`) || PathPrefix(`/nodeinfo`) || PathPrefix(`/.well-known`))) || (Host(`domain.com`) && Method(`POST`)) || (Host(`domain.com`) && Headers(`Accept`, `application/activity+json`)) || (Host(`domain.com`) && Headers(`Accept`, `application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"`))"
I also decommissioned mine as I was seeing comments and posts coming up a lot quicker and more reliably on the lemmy.nz instance.
Interesting, keep us up to date. Maybe point the DNS to a non existing IP address?
That would have been plan C, yes. But it’s not a proper solution, it’s a hacky workaround which puts unneccessary load on the federating instances.
Thank you for caring for the federation. Seeing how much the community care gives me hope for humanity.
Sorry I’m late to the party, but what’s this about a 20 character limit? My searches are coming up empty.
It’s the (default) maximum length for user- and community names. It can be changed in the admin, up to 50,I think.
The way you worded that I thought it was a server name limit. That would have been awful for me. Thanks for clearing it up.
I’m not the original poster.
But I didn’t realize this was configurable at first either, and even went so far as to request the limit to be increased face-palm.png
Please don’t use that overused “looking at you, X” phrase.
Please don’t gatekeep how people speak, thanks.
That phrase makes perfect sense, though
There is nothing wrong with using standard phrases, but everything wrong with gatekeeping them.
And yes, I’m looking at you, @[email protected]!
/scnr