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!


Hello,
I believe Matrix would be the most suitable candidate for your use case. The protocol supports both public and private (invite-only) rooms. It also has spaces, which are collections of rooms that helps with organisation (and yes they do exist in the sidebar). Voice/video calls can be done through Element Call which is integrated in many clients, and are usually quite performant. Pinned messages and polls are natively supported, and there exist various bots for reminders and other little neat features (see the Maubot plugins).
Matrix is also federatable like email, so you can extend your community to people on other servers in the network, too. Be sure to employ moderation tooling though, of which the ecosystem has plenty of and are improving every day. I also recommend testing out non-Element clients (such as Sable, Cinny, or SchildiNext) to see which one fits best with your organisation.
In another comment, you have mentioned the limit of 100 users. I believe this only applies for the Element Server Suite freemium solution, and so I ask, why not use another open source solution? My suggestion would be Continuwuity, a homeserver written in Rust with a very active community behind it. Continuwuity is generally considered much more lightweight than alternatives, and have been seen supporting sub-500 users just fine on a machine with 8 gigs of memory.
There’s some other QoL features of Continuwuity you may be interested in, like auto-joining to a room after account creation, or registration via admin-issued tokens. It can also integrate with your favorite single-sign-on solution via OIDC as well. So yeah, feel free to ask more about it here, or take the next steps in the support room!
There exists other solutions as well, but I think they are not the best candidates for few reasons. XMPP (i.e. the protocol behind Snikket) is more lightweight, but its clients still generally lack support for group calls, pinned messages, and polls. Fluxer may have a better UI, but it is not federated from the ground up which can lead to problems. I don’t think Nextcloud Talk offers federation either(?), but I believe Nextcloud to be a quite heavy, “bells and whistles included” software suite in general which may be too much for your use case.
Now we know, you’re able to copy and paste into the prompt box. Now stop it and use your own brain instead.