I work with a mutual aid group that currently handles communications with Signal. This is acceptable from a security and privacy perspective, but severely lacking from a discoverability and reference perspective.

I’m looking for a text chat (it’s okay if it also supports voice and or video, but we don’t really need that) that is kinda similar to Slack or Discord regarding rooms, but that can be self hosted (obviously). Our general workflow is to allow new volunteers to join our “General chat” and then either be invited or join via open link any of the working groups they fancy. What I’m hoping for is a software that can allow us to have all those working groups in a side bar to increase engagement with some of the more behind the scenes options. I’d also love to have the ability to easily retain posts or bookmarks so we can build up quick references where we actually communicate. I haven’t found a clean way to handle the general chat for 2 reasons: 1) we would like to keep it open in such a way that anyone who wants to can join, and 2) there’s currently over 800 people and we regularly add more.

All told that makes the bulleted requirements for what I’m hoping for be:

  • text chat software
  • rooms/channels
  • ability to pin posts
  • ability to add arbitrary bookmarks or links
  • ability to have rooms either public or private
  • ability to have at least one room anyone can join without prior approval or invite
  • ability to support at least 1000 users (not necessarily concurrent client connections–that can probably be about 50)
  • ideally the communications can be encrypted

What I don’t need but might be nice:

  • voice
  • video
  • file share
  • polling
  • reminders
  • plugins

We value data ownership extremely highly hence looking for self hosting options over Slack or Discord. It’s okay if the general chat exists in a separate server so long as the main server with all the other rooms can federate with it somehow.

We do have some people with IT experience, and I am software engineer of over a decade so technical barriers in setting it up shouldn’t be an issue, but account creation and use for volunteers needs to be dead simple.

If anyone knows of something like this (or even a FOSS tool we may be able to extend functionally to fit the last 1 or 2 bullet points) I would love to hear your suggestions.

Thanks so much!

  • rumschlumpel@feddit.org
    link
    fedilink
    English
    arrow-up
    12
    ·
    edit-2
    7 hours ago

    I think Matrix offers most of the functions you need, “Discord but selfhostable and with E2EE” is pretty much what the Matrix devs are going for. Though it kinda has issues with ease-of-use, performance and stability, so TBH I doubt it’s going to work for you.

  • solrize@lemmy.ml
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    7 hours ago

    E2EE with large groups is a hassle because you have to do messy key changing protocols every time somene leaves the chat (since you want to invalidate their keys when they leave). If you don’t mind the server (self hosted) seeing the plaintext that’s a lot simpler. Tbh I’ve simply used nextcloud chat or irc for stuff like this. I can’t really recommend nextcloud for various reasons but it was easy for me to set up a chat when I wanted one, since I already had a nextcloud server. Matrix is supposed to be the post-IRC IRC so I’d check into it, but I haven’t used it so far. I’m of the impression that Matrix isn’t E2EE (the server can see the private stuff) but maybe I’m wrong. I think Signal tries to be E2EE but has other problems, including that MLS (the E2EE mechanism) inherently requires a client app instead of being usable with just a browser.

    • litchralee@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 hours ago

      I think Signal tries to be E2EE but has other problems, including that MLS (the E2EE mechanism) inherently requires a client app instead of being usable with just a browser.

      I’m having trouble imagining what in Signal’s implementation of the Double Ratchet, or any part of RFC9420 Message Layer Security, would inherently require a client app. Perhaps you mean that there is no readily available browser-implemented API for carefully managing secrets? Even in that situation, all the libraries needed to implement the RFC can be compiled as WebAssembly or to JavaScript (with the assumption that the browser and OS are outside a malicious actor’s capabilities) and ran that way.

      To be clear, I’m not suggesting Signal is perfect, and papers about problems found in Signal and other apps are readily found, like this one from last month. But with that said, it does appear that OP’s described use-case involving hundreds of users in group chats is very much not what Signal was designed for,.

  • meh@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 hours ago

    All in one solution, your describing nextcloud. Though if you started in signal maybe its not the right solution for what you’re doing? if the group is official enough for there to be donation and tax records maybe go nextcloud.

    https://github.com/stoatchat/ is an option, its made good progress since discords first try at age restrictions.

    setting up a few matrix servers is probably the more secure way to go. and either mumble for voice or jitsi if you want voice and video chat capabilities. decentralize and avoid a situation where one self hoster leaving or one domain seizure shuts everything down.

    • unmagical@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 hours ago

      I did not realize that nextcloud had a talk product. That actually looks really promising. I’ll have to see if I can setup a passwordless login through authentik or something to allow accessing the general channel.

      Thanks for the rec.