gabe565

joined 1 year ago
[–] [email protected] 6 points 1 year ago (14 children)

The activity table is also used to deduplicate incoming federation data, so instead of truncating it, I'd suggest deleting rows after a certain amount of time.

For my personal instance, I set up a cron to delete entries older than 3 days, and my db is only ~500MB with a few weeks of content! I also haven't seen any duplicated posts or comments. Even with Lemmy's retries, 3 days seems to be long enough before dropping rows from that table.

[–] [email protected] 2 points 1 year ago (1 children)

Awesome! A separate nginx container is fine, so if it's working I'd probably leave it. I'll look through and see if there's anything I missed in my comment though for brevity.

[–] [email protected] 3 points 1 year ago

That whole room is amazing. I used that pic as a Zoom background for a while lol

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

That's awesome! I love his Helm chart. It's the most impressive Helm library I've ever seen. I maintain a bunch of charts and I exclusively use his library chart :)

I just mentioned in a response to @[email protected], but I feel like deploying a separate nginx is probably cleaner, I just didn't want another SPOF that I could break at some point in the future.

[–] [email protected] 2 points 1 year ago (3 children)

Hmm I'm not sure! That code snippet should only affect routing conditionally. When you added the configuration snippet, did your ingress logs show the requests to / going to the frontend or backend?

An nginx container behind ingress seems cleaner, I just didn't want to add another point that I could possibly break lol

[–] [email protected] 4 points 1 year ago (1 children)

I use Plex with Plexamp and love it other than the forced online account, which is minor enough in my opinion that it's been hard to justify looking for an alternative. What did you move to?

[–] [email protected] 2 points 1 year ago

Up to 400MB after two days here. I took a look at the code and it looks like Lemmy keeps all ActivityPub JSON for 6 months. It would be nice if it was possible to shorten that.

I'm still happy that I'm hosting my own instance, but I hope this thing doesn't get too big!

[–] [email protected] 1 points 1 year ago

Yeah Porkbun + Cloudflare is a solid combo. I'm not sure how they do it, but Porkbun is consistently cheaper than other registrars while still having solid service.

I also have a couple of domains in Google Domains since they provide wildcard email forwarding

[–] [email protected] 4 points 1 year ago

+1 for Borg! I use Borgmatic to backup files and databases to BorgBase. It costs me $80/yr for 1TB of backups which I think is sensible. I also selfhost an instance of Healthchecks.io for monitoring.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (7 children)

Yep I'm still working on a helm chart. Currently, each service is deployed with the bjw-s app-template helm chart, but I'd like to combine it all into a single chart.

The hardest part was getting ingress-nginx to pass ActivityPub requests to the backend, but we settled on a hack that seems to work well. We had to add the following configuration snippet to the frontend's ingress annotations:

nginx.ingress.kubernetes.io/configuration-snippet: |
  if ($http_accept = "application/activity+json") {
    set $proxy_upstream_name "lemmy-lemmy-8536";
  }
  if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
    set $proxy_upstream_name "lemmy-lemmy-8536";
  }
  if ($request_method = POST) {
    set $proxy_upstream_name "lemmy-lemmy-8536";
  }

The value of the variable is $NAMESPACE-$SERVICE-$PORT.
I tested this pretty thoroughly and haven't been able to break it so far, but please let me know if anybody has a better solution!

view more: ‹ prev next ›