this post was submitted on 02 Jul 2023
50 points (94.6% liked)

Selfhosted

40008 readers
1030 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 1 year ago
MODERATORS
 

I've been in Lemmy for a month and I'm quite enjoy using the service.

However, after the mass migration on both Reddit and Twitter, I feel like the services are now significantly slower than they used to be. So I'm wondering whether I should have some kind of personal CDN/relay service for "caching" information especially medias or just create a new instace and federated to public Lemmy instance?

FYI, I have a private OpenVPN served on DO and 1L "server" that run Proxmox for existing services to my home. Should be okay to have a Nginx reverse proxy, right?

top 26 comments
sorted by: hot top controversial new old
[–] [email protected] 29 points 1 year ago (2 children)

You definitely could, but it's not really sustainable.

Worst case scenario: if everybody does this, and there's 50.000 subscribers on a certain community, then that community will have to update 50.000 other servers whenever one user leaves a single message or vote.

Sure, your own server wouldn't have a hard time, but it every popular server (with lots of subscribers) would. It would either take a long time for you to receive their updates, or you wouldn't get them at all.

The best thing you can do, is join a medium size server: it won't be as overloaded as a big server, and wouldn't cause as much strain on the fediverse as a personal server.

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

I would think that updating 50.000 Lemmy instances would have a similar performance effect of 50.000 Lemmy users browsing one instance. In that case instance with one user won't benefit the Fedeverse, but shouldn't be an issue either.

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

I would think that updating 50.000 Lemmy instances would have a similar performance effect of 50.000 Lemmy users browsing one instance.

Only if the users are browsing All their watched communities 24/7. Otherwise they would only be producing load when they're interacting with Lemmy.

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

Do you think the Fediverse would scale to a 1:1000 instance to user ratio?

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

I can say with full confidence that I have absolutely no idea.

I've heard this idea thrown around before, so I take no credit for it: One way to circumvent the issue would be to have actual relay nodes. As in: nodes that don't hold contents or users themselves, but just "broadcast" incoming messages to several instances, so that the source instances don't have to. This would of course have its own drawbacks and limitations, but it would alleviate the bottleneck.

I'm sure some kind of solution will be found though. Call me optimistic, but I think the lemmi/binniverse has a bright future ahead of it. I, for one, have burned my reddit bridges.

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

Good to know, thanks!

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

Or use crypto. Generate keypairs, sign updates. Add support for delegating updates to other instances.

Maybe add support for having instances getting data to indicate if they're willing to relay update data to others, and have main instance refer to them for a certain time period, say.. 6 hours maybe?

Relay willingness would depend on instance config and load, ideally.

Edit: any reason I'm getting down votes? If there is a problem with the approach, at least leave a comment.

Edit2: Crypto as in CRYPTOGRAPHY! Which has been shortened to crypto since long before bitcoin was invented. If this was some non-tech forum I could understand, but a community about self hosting and no one seems to be making the obvious connection? Wow. And you guys host stuff, that's just scary.

https://www.cryptoisnotcryptocurrency.com/

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

Yes, we all know crypto and scalability go hand in hand /s

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

You thought I was talking about cryptocurrencies? Really? You read that, saw crypto, public/private keys, signing data, and thought "He's talking about cryptocurrencies, and surely not cryptography!" ??

Seriously? Wow... I sincerely hope you're not hosting anything public, and if you do, consider shutting it down and step away from the server until you have a bit more technical insight.

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

After you explained it a bit further in another comment it was pretty obvious you didn't mean cryrocurrencies. I really did latch onto "crypto" as cryptocurrency, unfortunately the case for a lot of people.

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

No down vote from me, but surely by now you know how people feel about crypto.

At any rate, I don't think an immutable ledger is desirable for speech (what's the point of moderation), perhaps more something like torrent would be preferable. And, as someone else mentioned, relay software already exists.

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

Who said anything about immutable ledger? I was talking about signing updates so it can be verified when relayed through untrusted third parties.

So if lemmy.world sends an update to lemmy.selfhosted.guy and then lemmy.anotherselfhosted.guy federates with lemmy.world, lemmy.world can then say "Hey, here's my public key, lemmy.selfhosted.guy have a copy of my data and is willing to be delegated to, you can get the data from him" and then lemmy.world doesn't have to distribute it's changes to everyone itself, but maybe just update 5-10 hosts. And the number of relays will scale with the network.

And thanks to the data being signed, you can trust the updates from lemmy.selfhosted.guy being from lemmy.world and not been tampered with, keeping lemmy.world as the authority of the data, even if you don't trust lemmy.selfhosted.guy.

Edit: This would also mean all the small self hosted instances will boost the network instead of threatening to overload it.

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

My bad, I thought you meant the other crypto (as did everyone else, presumably). I know cryptography was first, but I think it's safe to say that that abbreviation has been irrevocably tainted.

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

yeah, I'm slowly starting to realize that. That a few misunderstood, I could see that. If you're new to things you've probably only heard in connection to cryptocurrencies. But everyone misunderstanding? It's really shocking. Especially since the context should have made it obvious.

As developer we have crypto libraries. Crypto systems. Crypto layers. Crypto functions.. And so on.

Crypto is cryptography. Cryptocurrencies are just a small thing, using cryptography. To have that "take over" the crypto word completely is as unnerving as waking up one day and mentioning to someone you washed your face this morning and they respond "What, like, the screen?" and then discover everyone only thinking of facebook, even with the context.

I'm sorry, I'm rambling. It's just so unbelievable to me to have this happen in a forum focusing on self hosting services. Where crypto should (hopefully) be daily bread and butter.

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

It happens. Remember the original meaning of the word hacker, versus its public perception? You can hang on to the original meaning and have an extra hurdle in communication, or you can accept it and move on by being more specific.

At any rate, I think public/private keys are already being used by Lemmy for authentication on the way you propose.

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

I'm running my own instance with 2 users. I'm not noticing any slowdown.

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

I spun up an instance, I have about 30 users, the other .nz instance has about 10x that.

@[email protected] Find a smaller instance that suits your ethos and help build that instance's local communities and subscribe to the larger ones you want

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

Me too, works great!

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

I setup a server that does not store any data so as to keep browsing fast for people using it. Its at lemmy.myserv.one and you can try it. Nothing really is posted there so it’s basically just so you can no overload another instance like lemmy.world.

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

Anything in particular you did so it does not store any data? I'm thinking I should try out the same on a cheap VPS.

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

You font make any communities and clear the database of cached content thats no longer needed after reasonable amount of time (as its hosted on the other instances the data came from) eg: PGPASSWORD=password psql --dbname=database --username=username --command="DELETE FROM activity WHERE published < NOW() - INTERVAL '7 days';"

Does stop top month or top year since you dont have data going that far back. Obviously if you keep it then you need more disk space, memory and so on and so on.

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

I’ve noticed that both Lemmy and Mastodon are slow as shit.

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

You're on lemmy.world, it's been overloaded for days.

My private instance has been as snappy as can be, everything loads instantly. That's one of the nice features is if your instance has trouble you can just use another one.

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

Don't join the largest instances then. Lemmy.world is over loaded and mastodon.social is historically overloaded.

load more comments
view more: next ›