this post was submitted on 03 Jul 2023
74 points (98.7% liked)

Selfhosted

40403 readers
837 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Like does content get mirrored to my instance and then mine distributes it ala BitTorrent or is my instance it's own thing?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 27 points 1 year ago (2 children)

Broadly, yes. The way federation works means anything any user on your instance is interested in will be sent to you once (at least posts/comments/votes/etc). Whenever someone on your instance views that thing that is a request that would otherwise be made to another instance. This does, however, increase the load of federation on servers hosting popular communities, as now they have to send each post/comment/vote/whatever to your instance. Unlike bit torrent there is only one place responsible for sending you all of the content that exists in a community, so the fediverse doesn't get p2p-style network effects where every peer/sever helps even a bit.

A single user instance is a little inefficient, unless you are actually looking at most/all of the content your instance receives, in which case it is probably a wash. The ideal for how federation is implemented in ActivityPub would be many similarly-sized (in terms of user count) instances with the most popular communities being spread out among them.

Sadly right now the most popular instances (lemmy.world, lemmy.ml, lemmynsfw.com, kbin.social) are both where users and communities are, so the real gains to help those instances (several of which continue to struggle under the load) are really only medium and larger sized instances.

[–] ghariksforge 5 points 1 year ago (2 children)

What is the easiest way to learn about ActivityPub?

[–] savjee 7 points 1 year ago

These posts are really useful to get a grasp of ActivityPub (if you have a programming background): https://rknight.me/building-an-activitypub-server/ https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/

And of course the official spec (although its less useful): https://www.w3.org/TR/activitypub/

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

Isn't a semi-significant amount of the per instance load in the database interactions though? I don't know if that's still true after some of the optimizations in 0.18, but by having your own instance, even 1 person instance, you no longer load the database of another instance with calculating hot/active/whatever for things you want to see, and you don't load it when you do pulls.

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

There is certainly an inflection point. I am not sure where it falls. If you rarely use Lemmy the other servers are expending effort federating to you for no reason, so for a heavy single user it is probably a positive. I imagine it also varies based on how you browse as "new" is probably "lighter" than "hot" or "active".

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

Sure, but the server calculates the hot/active every 15 minutes regardless of whether or not you browse it. It's calculated on a timed job so it's always fresh and ready for everyone.

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

I was unaware that was the case, that's pretty expensive and inefficient to do it for every user (because each user's "Subscribed" feed is likely different) every 15 minutes regardless of how recently they've visited. The inflection point is probably lower for the benefits of even single-user instances in that case.