Hi all,
Thank you for joining me here! It's great to see that we have a community that wants to grow in such a new and exciting manner.
As it is, I thought it would be a lot easier to do this by myself than it has been. So I'm asking for some help!
I have several things I need assistance with:
- setting up and moderating a chat community, for those times when users are having issues with the website. I think it's up to the community what software we use, but I would probably prefer Discord. Since this is all federation though I completely understand if others want to use something like Zulip or Matrix! So let's just use what everyone wants. If you have an opinion please post below.
- database stuff. I'm absolutely terrible at database stuff, and that is not an exaggeration. If anyone is willing to help it would be much appreciated. Currently I have a need to set up pgbouncer, or we should modify the lemmy source to allow for setting up a bouncer. I also want to set up read replicas so that we can distribute the load a bit more evenly. As it currently is, the site was simply set up with the lemmy-ansible script, so everything is running on a single box ๐ฌ. If you know Rust and want to help modify the Lemmy source code for this, or you are a Database Admin and want to help, I'd very much appreciate it.
- instance admins. I cannot be online constantly and I do have a day job. I'm getting messages and applications to join the instance along with needing to set up new communities, create and update rules, moderate, etc. I cannot handle this all alone.
- I also need some general help.
- email admin
- migration of server to larger VPS (will have to bring the entire site down for this, unless someone wants to help set up a load balancer, a brand new box, and have some sort of migration strategy.)
If you want to help out on the server side of things I will want to know your real life persona, but for instance admins, chat mods, etc. I would just like to see some sort of comment history from you elsewhere.
And thank you once again, for helping create an inclusive community.
I would like to suggest XMPP for the community chat. Federated+standardized protocols that are practical to self-host should be priorities in a world were lemmy is viable and makes sense. In this area XMPP is much friendlier (in admin, in complexity, in resource-usage) than the alternatives.
I also happen to have experience running ejabberd clusters for a couple communities and can offer some amount of sysadmin help would it be wanted. Another interesting aspect of XMPP is that there are efforts underway to federate with the fediverse, so we could probably enable chatting over XMPP with lemmy accounts and vice-versa at some point.
Any of the xmpp communities open? I've tried matrix for chat and it's kinda janky, I wouldn't mind trying an xmpp server.
What issues did you have with Matrix? I've been using my own instance for almost 6 years, mostly chat, and it's working great.
Not OP, but parent poster. I did embrace Matrix in the early days (early 2015), with open arms, when I was looking for a self-hostable instant messaging solution for family & friends, and when it advertised to be "learning from previous protocols' mistakes" and "being modern, with web stuff, unlike XMPP" (a large part of the Matrix communication back then was dismissive of the alternatives, sometimes using flawed arguments like this one. You can check archive.org for the details and how it backfired with the incendiary or plain ignorant points being retracted over time).
Either way, one thing to note about Matrix is that it came out in a crowded world with well-established (open and commercial) players, but with the ambition to be the next venture capital-infused unicorn. In this position you must demonstrate some truly unique ability, so Matrix' reason to exist became to tackle a very difficult problem that nobody had: that of distributing chatrooms across many homeservers (instead of adding redundancy at the server level, like every major protocol had done before, resting on decades of computer-science know-how in the area of distributed systems). This led the Matrix protocol and its implementations to be truly insane, and a wild roller-coaster of inefficient and buggy implementations hasty deployed, fuelled by bold promises and hyperbolic claims to keep the funding going on.
To this day, the Matrix protocol has seen countless reboots, the canonical server implementation is in fact 3 distinct projects each trying to shove into a faster programming language more of the inefficiencies of the computing model, and if it hadn't broken backwards compatibility so many times, you could perhaps still find discussions in the open between myself and Matthew along the lines of: (in 2015)
Fast forward in 2023. You would think that few times "couple months" have elapsed, and that Matrix is stable by now. But here he is, you guessed it, Matthew, telling to a crowded audience at fosdem how he's super very close to make it work for real this time: https://www.youtube.com/watch?v=eUPJ9zFV5IE If you read between the lines, Matrix 2 is a proxy/bouncer for Matrix, to get your client running server-side, which is an admission that the flaws and inefficiencies of the protocol that have been crippling clients won't ever be resolved, and if you happen to be on the hosting side, good luck with your hosting bills.
Don't get me wrong, I'm not against Matrix per-se. It's an open project and they do legit cool stuff there. We should just not encourage people get burnt so much by it. Admins should expect synapse to be hell, scale like crap in any real-world usage, and cost them a lot of time, effort, money and stress. Users should expect things to be slow, awkward and subtly broken for a while, and should be made aware of the heavy toll they incur to whoever is hosting them.
I'm also saying that better alternatives and better designed/more resilient/more privacy-respecting protocols do exist. Being myself a happy XMPP user and admin, I got to read many horror stories from admins of medium/large Matrix instances who just couldn't keep-up, had to close, and re-opened on this side. Their experience is day and night.
Thank you for the extensive write up, really appreciated.
I'll be honest - I didn't study the inner workings of Matrix. I had my own webchat, with like 6 users, wanted a mobile app, and found then Riot.
I still have less than 10 active users, so it keeps chugging along without issues.
There are other issues I noticed, like completely dead Patreon. Dendrite still in beta. Jitsi integration breakdown.
Which makes me sad, XMPP is very old, so I wanted to root for a newcomer. I still do, but my hope is much smaller.
Wanting to root for a newcomer is what had my enthusiasm for Matrix in the first place, giving XMPP a second look/chance is what made me realize we don't need something new, as in "if it ain't broken, don't fix it!".
XMPP supports billions of devices, every day, in all kind of applications and use-cases. Every android device get their push notifications from GCM/firebase, which uses XMPP under the hood, just like every nintendo switch. Facebook Messenger, Google Chat and WhatsApp all started off from ejabberd. Many large games have their chat system rely on XMPP/ejabberd and support millions of simultaneous users. XMPP isn't old, it keeps getting better, more versatile and used in unsuspected places :)
So I guess eventually I will end up on XMPP. Good to know, thanks.
It was super slow to join a chat. Also, scroll back history was always buggy, it would tell me I wasn't allowed to see chats from the day before when I've been logged in for days. Room search is slow. I didn't like having to do security keys when I logged in to clients on different computers. The encryption stuff never seemed worth it when 99% of the time in in a public room. Death by a thousand cuts is how it felt.
I did find it more responsive when I used the main matrix network, but I wanted to be on am offshoot and federate on, it always felt slow and painful.
Wait, did you join some super big rooms from your instance?
I rememember when I first tried Synapse I joined the Welcome room on matrix.org and my server was unresponsive for 2 days until it synced all the events (6 years ago).
I do almost all conversations on my homeserver now and have no issues, apart from the E2E hassle.
You can have a look here: https://providers.xmpp.net/
...to pick a provider from the A or B bucket.
Then, client-side, my recommendation would be to go with gajim as a power user, conversations/cheogram on Android (both listed on froid), siskin/beagle on iOS/mac, and have a look at movim.eu for something web based.