Just some Internet guy

He/him/them 🏳️‍🌈

  • 0 Posts
  • 8 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle

  • Bigger instances will indeed run multiple copies of the various components, it’s pretty standard software in that regard.

    Usually at first that will start by moving the PostgreSQL database to its own dedicated box, and then start adding additional backend boxes, possibly adding more caching in front so that the backend doesn’t have to do as much work. Once the database is pegged, the next step is usually a write primary and one or more read secondaries. When that gets too much, you get into sharding so that you can spread the database load across multiple servers. I don’t know much about PostgreSQL but I have to assume it’s better than MySQL in that regard and I’ve seen a 1 TB MySQL database in the wild running just fine.

    I think lemmy.world in general is hitting some scalability issues that they’re working on. Keep in mind the software is fairly new and is just being truely tested at large scale, there’s probably a ton of room for optimization. Also lemmy.world is still on 0.17 and apparently 0.18 changed the protocol a lot in a way that makes it scale much better, so when they complete that upgrade it’ll probably run a lot better already.


    The part that worries me about scalability in the long term is the push nature of ActivityPub. My server is already getting several POST requests to /inbox per second already, which makes me wonder how that’s gonna work if big instances have to push content updates to thousands of lemmy instances where most of the data probably isn’t even seen. I was surprised it was a push system and not a pull system, as pull is much easier to scale and cache at the CDN level, and can be fetched on demand for people that only checks lemmy once in a while.

    I need to start digging into Lemmy’s code and get familiar with the internals, still only a couple days in with my private instance.



  • I already host my own stuff for the most part: emails, DNS, NextCloud, IRC server, IRC client (ZNC, The Lounge), my website and a few other things.

    I already pay like $50/mo for a dedicated server so that I have complete control over my data and my digital life, so adding a Lemmy instance to the mix is basically free. Just another VM among many of them, sharing the same resources as the rest of the stuff I host.

    I share my server with a few friends, and pretty much my friends and their friends are all free to use my stuff as well. Been doing that for about 14 years at this point: always let my friends put their PHP sites on my server and whatnot. A dozen people using my IRC bouncers, a handful of people on my IRC server. When people need a game server sometimes I hand them out a VM to run the server for a while, then when they’re bored I turn it off and shelve it away. It’s a lot nicer to foot the cost of a service when it’s for people you know and care about.

    I’m a FullStack + DevOps engineer as my day job, so it’s pretty trivial for me to set up and maintain. If anything it’s a bit relaxing compared to the insanity I deal with at work.


    Regarding costs, the nice thing with distributed systems like Lemmy is that the average small to medium sized instance is really cheap to run. It’s when you run into scaling problems as you grow that becomes painful and often expensive if you can’t optimize the system. Suddenly you need way more servers, redundant databases, caching layers, spend a lot of time maintaining all of that, write automation to scale up more easily, etc.

    Without federation, the whole ecosystem would go down, it puts a lot of pressure and a lot of need in maintaining reliability and performance. With federation, if my node goes down for a day or two, only a handful of users will complain about it, and all is well.

    So in a way, many smaller instances distributes the cost of running the whole fediverse across many more people with much lower cost figures each, something one can afford to pay continuously even without taking in any donations. As I said, it cost me $50 for the whole server, but really I could probably run this on Oracle’s free tier forever and never pay a dime for my Lemmy experience.



  • Usually for these things there’s downloads in the release section. For example, Jerboa’s repository has an Android APK you can download directly from the releases page there. But you can also get it from F-Droid and Google Play.

    You’ve guessed right, GitHub is for developers. If you don’t want to be dealing with source code, you probably don’t have any reason to care about GitHub.

    Others have already covered your particular use case: you found the code for the web UI for lemmy, it’s only useful to server admins. As a user you just go to the website, in this case lemmy.ml.


  • I’ve been using The Lounge as my IRC client since ~2015 (and even contributed a fair bit initially). It’s a self-hosted webapp solution that’s pretty easy to set up.

    On Android, it’s basically seamless: I get push notifications and everything, and performance is entirely sufficient. Some people on my instance are using it daily on iOS and it works alright although Apple’s refusal to support WebPush and full PWAs have made it a little less convenient to use, but that’s supposed to change with the upcoming iOS version.

    Apart from IRC, there’s decent Matrix clients as well available for iOS, and it’s where most of the IRC community is slowly migrating to when they outgrow IRC. Most IRC networks have Matrix bridges as well so you’re not losing on IRC.