This site is currently struggling to handle the amount of new users. I have already upgraded the server, but it will go down regardless if half of Reddit tries to join.
However Lemmy is federated software, meaning you can interact seamlessly with communities on other instances like beehaw.org or lemmy.one. The documentation explains in more detail how this works. Use the instance list to find one where you can register. Then use the Community Browser to find interesting communities. Paste the community url into the search field to follow it.
You can help other Reddit refugees by inviting them to the same Lemmy instance where you joined. This way we can spread the load across many different servers. And users with similar interests will end up together on the same instances. Others on the same instance can also automatically see posts from all the communities that you follow.
Edit: If you moderate a large subreddit, do not link your users directly to lemmy.ml in your announcements. That way the server will only go down sooner.
I’m going to set up a general purpose instance tomorrow with the intention of handling a relatively large number of users. The main problem is choosing a domain!
Naming things is one of the two most difficult issues in IT, alongside cache validation and off-by-one errors.
I’m getting the following error reading this post: “item at index 2 does not exist”
Should I post this on stack overflow or some other Lemmy help community?
Which frontend are you using?
I name everything as var1 var2 etc.
var37.social incoming
choosing the name for my instance was easy. programming related? programming.dev it is!
There are only two hard things in CS: naming things, caching, and off-by-one errors.
I already said that
Look at that, you sure did. I missed the “two hard things”. Wasn’t even drunk. 🤷
I was also contemplating setting up a new instance for this. I have 100s of gigs of unused ram, CPUs on idle and a 10gbit connection looking for something to do. The only issue I couldn’t figure out was the name. I own itjust.works was thinking of something clever subdomain to use with it. I’m glad I’m not the only one with this issue
sh.itjust.works
I did it! https://sh.itjust.works
Credits go to you for the naming
Lol awesomesauce. I just made an account, I’ll use it as my main instance for a while. Let’s hope we can survive reddit hug of death 2.0 in July!
@autisticaudioguy lol same, just signed up today.
Dude killer url, nice one! Question for all, I clicked their link and went there and it’s an instance, surely. I tried to comment on their post, but was required to sign in… I’m already signed in over here, I gotta sign in there, too? Anyhow I tried to sign in with my lemmy.ml creds but that didn’t work. How can I interact with posts there?
When you open a post it should show you instructions on the right: use the search bar in lemmy.ml to search for
!main@sh.itjust.works
This is a great one! Might use it
can’t wait for fedd.itjust.works to go online!
Keep it simple with
lemmy.itjust.works
.If you get this going or need a hand then let me know.
Do you also have a few million dollars under your mattress? 😁
I’d like to tell myself that if it got to the point where it started to cost a few million that i would be able to have it pay for itself!
YetAnotherLemmy.Social coming online now soon?
It’s a week later, but I did get this done finally. I’ve set up https://lem.monster/ . Still doing some tweaking, but it’s open.
Lemmy.world is a new server, accepting signups. You’re welcome there.
I think lemmy will be bitten in the ass by not having considered clustering/horizontal scaling from the start. Federation alone as a scaling mechanism is only feasible for “nerds”. But if the network wants to grow, we will need a few scale-able large hosted instances. And if their only choice is to scale vertically, there will be a hard limit (unless we put a good old Mainframe somewhere ^^).
Another downside of this design is: you can’t run it with high availability. If there’s only one process per instance, updating it will mean the whole instance is down. Sure, if all goes well this downtime is under a second. But if it doesn’t go well or if a migration is needed, this might quickly become hours.
I think you probably underestimate how far one can get with “vertical” scaling. Here’s the dockerfile: https://raw.githubusercontent.com/LemmyNet/lemmy/release/v0.17/docker/prod/docker-compose.yml
- It includes 4 different containers… so there’s a way to scale out to 4 machines right away. Maybe not every container is doing an equal amount of work… but there’s some amount of immediately available machine-splitting.
- I’m no expert, but I believe that at least the lemmy and lemmy-ui containers are stateless. If so, they’re horizontally scalable already.
- Postgres then would likely be the main bottleneck. But postgres offers read-replicas, so again the write-load and the read-load can be hosted on separate machines. And if there’s enough read-load, you can have many replicas.
Other comments from the admins have shown that lemmy.ml today is running on a single eight-core box and it’s currently hosting 30k registered users and over 1k active. So how much more compute capacity can we throw at “vertical” scaling on the current software architecture?
- Just by going to a bigger single box, we can get 128 cores with no problem, a 16x bump in capacity. Does that get us to at least to 300k registered + 10k active?
- Splitting the containers onto 4 separate machines. Does that get us 2x more?
- Adding PG read-replicas and additional lemmy/lemm-ui containers would allow us to expand our instance footprint to maybe 6 physical machines should get us another 2x or more in performance.
Conservatively, that’s 100x the computing capacity of the current hardware and could potentially support 1m registered users and 50k active. Now, I don’t REALLY expect this to be possible today, there will be many software bottlenecks found along the way to scaling a single instance this large. But my point is that there’s already a medium amount of horizontal scalability built into lemmy, and if the software doesn’t fall over for algorithmic reasons (which is will at first), the current infrastructure architecture allows quite a lot of growth. There’s plenty of time between now and a federation of million user instances to adopt a truly distributed storage backend if needed.
Sadly, I feel like the Fediverse, based on ActivityPub, was fundamentally designed wrong for scaling potential. I do like Fedi and I like ActivityPub, but I think instances should not have to be responsible for all of this:
- Owning user accounts
- Exclusively host communities
- Serving local and remote users webpages and media
- Never going down, as this results in users and content becoming unavailable
Because servers “own” the user accounts and communities it’s not trivial for users to switch to a different instance, and as instances scale their costs go up slightly exponentially.
I wish the Fediverse from the beginning was a truly distributed content replication platform, usenet-style or Matrix-style, and every instance would add additional capacity to the network instead of hosting specific communities or users.
I guess it’s a bit too late for a redesign now… Perhaps decentralized identifiers will take us there in some form in the future.
@nutomic@lemmy.ml It might be a good idea to default the Communities page to All instead of Local, to help push users into discovering other instances and promote them.
I agree because this way, new users will learn what and how to use other instances. Plus, it also helps with finding more content, especially if the user picked an instance without many people which makes there be less communities and content they can check out on first glance.
I disagree because it makes the more narrowly focused topic or theme based instances more daluted, makes everything blur together more, I also see it as a detrament to the smaller intances because they will now there local comunity will have less traffic
Nah people will find it. Right now it should be just about growth and then let it specialise from there
Perhaps the default should be a per-instance setting and/or a user preference.
I would agree with a per user or per instance
I think a client that might select a server for you by default (hopefully a trusted one of course) would make things way more easy to understand for the average user. Then making it easier to add or view communities on other instances.
Over at https://join-lemmy.org/ , when someone clicked on “Join a Server”, they are presented with a list of instances, it’s not that obvious that these are cross-accessible (yes, the homepage mentioned it, but not here), and people are bound to look for one with the most users.
Perhaps, add a simple TLI5 explanation/diagram explaining how Lemmy works on https://join-lemmy.org/instances .
(The documents are also too wordy for most people to care.)
Point us to where the coin slot is. E.g. Patreon. We insert coin 🪙, you upgrade.
Here they list them:
Many thanks, dropped 10mBTC.
Thank you. Did the thing.
Thank you, dropped a few buckeroos :)
I have been wondering how cumbersome the Lemmy design will become for some. I love the idea that it is federated and decentralized however these are also major drawbacks for most
average
users (i.e not multi account users.Multiple accounts needed for
maximum uptime
on different instances. What if I really like my username and its taken on another instance? If one instance is down and i comment with my other account will i then need to manage replies etc through different profiles? What happens if something spins up another instance of a similar domain so that they can get a username of someone to imitate them? I am sure these can be blocked after the fact or will other federated instances be automatically blocked.What happens when someone gets bored of their instance and stops it, or it gets blocked, or they start getting unwanted attention. Does this mean all that content then goes into the ether?
Will this go down the route of whomever provides the instance with the most resources, best load balancing becoming
the one
, blocking other instances and controlling it as if it were private and independent?There are a lot
wait and see
things, but I am excited to help and see what this great project becomes.I’ve experienced a taste of this already. I checked the instance list a couple days ago, and didn’t see one that stood out for my interests, so I created an account on the main lemmy.ml instance.
I just registered the same username on another but as far as I can tell, there is no way to merge or link these two accounts. So all the setup I’ve done and all the communities I’ve subscribed to, I have to do over again.
------
Another “issue” (a bug or feature?) I’m seeing is there are a lot of duplicate communities between the instances. I guess one will eventually “prevail” and become the defacto instance for that community.
I guess one will eventually “prevail” and become the defacto instance for that community
Fore niche-y communities, probably. For more generalized ones (like “gaming”), I can see several communities evolve in parallel, each with its own culture and preferred content.
I just registered the same username on another but as far as I can tell, there is no way to merge or link these two accounts. So all the setup I’ve done and all the communities I’ve subscribed to, I have to do over again.
I believe what you did was necessary. There’s a bug for account export and transfer to another instance, but it’s still open: https://github.com/LemmyNet/lemmy/issues/506. It doesn’t appear that Lemmy has an account migration feature like Mastodon does, and consequently you’ve got to migrate your settings manually and then leave some kind of post or link in your old profile to where the new profile is.
But I understand that it’s possible, since it’s possible on Mastodon, right? IMO a smooth account migration process where you don’t lose anything on the account even if the server randomly shuts down, and it’s just another line in your account history solves a lot of the problems I see with Lemmy.
Even for registration, it would lower the criticality of instance choice so you have more solutions like using a buffer server that gives people X time to choose another server, randomizing or even just to lower the pressure of it.
Yes, it is possible, but was not a priority until now. The boom of users is basically just two days old, the devs have not gotten enough time to catch up yet hehe
Are you a Lemmy dev or just vocal here and on github?
I’m not a dev, no. But I’ve been here a while and like to help out :)
I’m no expert, but the dev commentary on that ticket suggests that it can be done but hasn’t risen up their priority list… and yeah… Mastodon accomplishing this with ActivityPub which Lemmy also uses suggests it’s possible. I agree it would be valuable, and opens up options when instances churn or get over/under populated.
That’s me right now.
Started on beehaw but switched to lemmy.ml because beehaw doesn’t have communities I want.
You didn’t need to switch. You could’ve followed the same communities on lemmy.ml straight from your Beehaw account. It’s one of the benefits of federation.
That needs to be made more clear, in my opinion.
Also, how does a ban work in that case?
If you’re signed into an account on Instance A and subscribed to a community on Instance B, and the Instance B admins ban you… Couldn’t you just sign up for a new account on Instance B or Instance C and rejoin/participate in the Instance B community again?
Also, if the Instance A admins ban your Instance A account from their entire instance, couldn’t you just login to your Instance B account and join all of Instance A’s communities?
For instance, if LemmyGrad banned my LemmyGrad account for being a “lib”… couldn’t I just use my Beehaw or Lemmy.ml account to participate in the LemmyGrad communities? Would this force them to detect/ban me twice?
Seems like admins/mods of Lemmy instances and communities are going to have to be doing a multitude more work than the Reddit admins/mods.
And they’ll have to also be detectives, to suss-out whether or not a user is someone who has previously been banned from their community.
Once this gets going with bots and whatnot, the federated system seems to be a bit of a spaghetti nightmare.
I went for beehaw first too, couldn’t get registration to respond but then saw they didn’t offer downvoting. Strange decision IMO.
Downvoting is just used as a disagree button, not for its original purpose of promoting discourse and hiding comments that don’t add to the conversation.
Any comments that add to the conversation get upvotes. Any that don’t, can be reported and removed. I prefer it that way.
These are some issues I’ve been thinking about as well.
What’s to stop someone from impersonating another user on a different instance? Maybe there should be a distributed user index amongst instances to prevent duplicate usernames?
I think making the federalized infrastructure incumbent upon users to understand and select is not something the average user is going to bother with. This is complicated problem, I don’t know the answer might be off the top of my head.
And what happens when an instance goes down? Does every user and their history get torched? Is there a migration process or at least a decommissioning policy in place?
Trolls impersonating the Lemmy developers has happened in the past. best is to report this to the instance admins who can delete the accounts as from the post history it is usually clear who the imposter is. Not sure if there can be a better way to handle this, probably not?
As @RagingNerdoholic@lemmy.ml says, create a distributed index of usernames, and do not allow the same username to be registered twice.
I’d also propose at the same time to create a Discord style username system to avoid potential clashes - if this system is going to become large (mainstream) then eventually available usernames will be hard to choose from.
But I’ve already signed up as GuyDudeman on every Lemmy instance! What happens to all those accounts? 🤪
There can be a manual process for anything, but could be a major issue if lemmy receives a big influx of “redfugees” in the coming weeks.
Like I said, something like a distributed user index across instances could address this.
Then people would start name-squatting and you would end up with people having to resort to tom123@lemmy.ml just because someone on a totally different instance already registered tom@example.com. The instance already signifies that it is a different user and it is rather the exception that someone intentionally tries to impersonate a user by copying the avatar etc.
How is that ultimately any different from how usernames work in a centralized system? If you have a username on reddit, that’s your username no matter what the subreddit/community. I understand how lemmy is analogous to email, but I’m not sure it’s the right model for a link aggregator and discussion system.
I guess what I’m saying is that decentralization may be better served if instances operated as an internal load balancing system rather than strictly separate servers. This would also help with an influx of new users, so you can just spin up a new instance and lemmy just flexes up without having to manually direct users to sign up on a specific server/instance.
What’s to stop someone from impersonating another user on a different instance?
Mastodon can have (has?) the same problem. This is somewhat solved with the self-verification process though, so it could be done similarly on Lemmy.
You made some good points. We often forget that most people have trouble with simple technical concepts, and the mere fact of having no simple and straightforward answer to “where do I register?” Is something that can inibit a lot of users.
This happens so much in the open source world. Things that are obvious to us can be difficult to others, but open systems aren’t designed for the general public.
Another thing:
We do need more site admins to help us handle the applications and moderation.
For obvious reasons, we prefer ppl who have been here for a long time, and post / comment consistently. If you’d like to help us out, so that nutomic and I can focus on coding, that would be splendid.
I’d raise my hand, but our own instance is blowing up, so it’s probably not a good idea :)
We’d love to have you if you can spare the time! But ya make sure you can manage the load on blahaj first.
I can handle some applications daily, and I’m also planning to grow some more niche communities :)
I’m happy to help if needed :)
I mean I’d love to help - either modding someone’s server, offering sysadmin support, or starting my own #lemmy or #kbin instance :)
If needed, I’d also be more than happy to help.
I tried like 4 or 5 instances before coming to lemmy.ml, but none of them were taking applications anymore. Finding even those was a hassle, since all I got was a list of domains without any details as to what the instance is about or if they allowed newcomers.
Now that I’ve setup everything, Lemmy does seem like nice alternative to Reddit, but as someone from the outside, all of this is daunting.
Exactly, can’t join another instance if they don’t accept your application.
This list may help newcomers:
Yeah, I can agree. I applied at two instances and found one that did not have the questions and allowed me to make and verify. Once I got in, it’s not too bad. I took a peek here first and saw the posts mentioning using All to see the instances, and then it opened a bit more.
I sent my registration yesterday, because I signed in another instance, one from my country, but I couldn’t see all the post and no comments from lemmy.ml even thought is supposedly linked, so thank you for approving my account.
Even if I’m a tech savvy person I found the whole experience of joining lemmy pretty bad, I like the concept of federation, but I think it’s too confusing to normal people, it really needs to be more seamless if you want to grow, how? idk, I was thinking some sort of replication, when you sign up, you are registered to the main instance (this) and given the choice to select other instances, automatically selecting let’s say another 3 based on your location, then your account is synced in all the registered and linked instances, when you login if an instance is experiencing overload then it switches to another one. I don’t know if this is realistic or out of the scope of Lemmy, or maybe against the philosophy of it. I’m just rambling.
I’m just glad that there is an open alternative for anonymous social interaction in this day of walled internet services such as discord, twitter, facebook etc. and I wish you all the success.
Agreed, someone needs to create an easy “sign up here” with a default option (maybe just randomize across various instances, not sure)
Randomizing would cause lots of issues since each instance has different rules and philosophies. It’s a difficult problem to solve.
We could just get all new users to sign up to lemmygrad
Kinda cancel out the far-right invasion of Voat? It’s a line of reasoning, certainly.
haha, everyone is free to request an account on lemmygrad
LOL! That would go well.
I found it rather easy to get signed up, just had to wait for the admin to actually approve the application. Otherwise it was pretty easy.
However, I do see a HUGE benefit to “load balancing” as you are mentioning. Where you sign up for a master server and then replicated to the others that are more applicable. I’m surprised this isn’t already a process as this is very common in gaming and proxied sites.
Yeah the registration itself was easy like any other site, I was talking more about grasping and understanding the concept of instances and how they interact.
And as someone said in another comment, the see all posts options should be the default in your home and community search or you feel like in a dessert island when you are new to all of this.
Both Mastodon and Lemmy have this problem. Make the default where the most new content is, which is going to be the federated tab and all tabs respectively.
Mmm, dessert island… drools
Yeah, federated logins of some sort would be really nice to have. There have been some mentions of integrating something from Streams onto Lemmy.
Is there any way to migrate instance or do I make a new account entirely?
You have to make a new account unfortunately.
Seems like this should be a high priority feature. I did try joining a different instance but at the time only lemmy.ml was functioning and accepting applications. Now that I have subscribed to a bunch of communities starting afresh would be a bit of a hassle.
It was apparently not a high priority back in 2020, and there hasn’t been any movement on the feature request: https://github.com/LemmyNet/lemmy/issues/506
Well that’s not a good sign. I hope the potential flood of users brings a flood of devs along with it.
It will for sure. Lemmy has seen such a massive influx of new users in just two days. It has barely given any time for the devs and admins to catch up. Stuff takes time to implement, but fortunately, now there have been donations and more people helping out!
I think that’s been one of the winning features of Mastodon that Lemmy could heavily benefit by implementing, this is a great callout
I wonder if a longer term solution would be to auto rotate the server list to bump less popular ones.
Pull requests welcome, here is the repo:
If now is struggling then on June 12 will be a nightmare.
Reddit will go dark in protest, many messages to join Lemmy, most instances will be overloaded or even DDoS with so many users, like what happen with Mastodon.@Generator And just like Mastodon and the fediverse at large, after initial growing pains, we will find a way
Not only fediverse, back in the day when reddit was cool servers outages was a daily thing
Wasn’t even that long ago. I’d say only the past 3 or so years has Reddit stopped showing me the “oOps U BwoKe WokEy WedDit” screen on a regular basis. Up until then, I’d get that screen a good 20+ times per day.
Users are likely going to see this as it’s the “official” Lemmy instance when trying to join for the first time.
Any admins of instances that are accepting people, give your best elevator pitch!