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…
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.