Looking for self-hosted Discord-esque alternate for non-profit use reddit / selfhosted ---------------------------------------------------------------------- AscendedGaming · 2023-09-26 17:40 Hello r/selfhosted, Looking to see if anyone has any suggestions for a self-hosted alternate to discord for use with a professional non-profit. I am looking to create a system and propose this as a means of communication for my non-profit. Discord is really good for this, but we deal with some sensitive information due to the nature of our work and discord is not secure enough for this. I have tried a couple systems and they have each fallen flat for one reason or another, see below. I figure the best way to approach this is by looking at the needs / wants of my particular situation and work backwards from there. ​ Needs: * Role Based Access * Encryption / security options * self-hosted * Phone app access * able to work with a team of 2,000 people, as this is how large our organization is ​ Wants: * Ideally, I would like it to be free, especially if we are using our own hardware to host it. * open source, not a deal breaker though. * non-email based accounts, smtp is locked down by my isp, and I dont really feel like setting up a forwarder, but this is far from a dealbreaker. ​ Solutions that I tried: [Rocket.Chat](https://Rocket.Chat): * Lacks role based access * Cost on this long term even with self-hosting to get mobile notifications over 10k messages ​ Mattermost: * Lacks role based access ​ Matrix w/ Element: * UI is nice, but it lacks role based access from what I could find. ​ Also, I plan on running this on my Unraid server, but I do have several linux / windows servers on my network, so it doesnt explicity have to be a docker, but that would be prefered from a management perspective. Thanks for any help with this! ​ ---------------------------------------------------------------------- ElevenNotes · 2023-09-26 17:52 If Matrix is good enough for the Bundeswehr its good enough for you. ---------------------------------------------------------------------- AscendedGaming · 2023-09-26 17:57 I dont doubt that. Interesting to know that they use it. I have read up on this and saw a ton of great things about it. Due to the nature of our organization and how I want this to be setup from an end user / administrator setup, It does **need** to have role based permissions. If not, managing that many people on this level will be a full time job and I am not sure the administration will go for that. Is there a way to add role based permissions to matrix? Maybe a different front end other than element will support this, or if its available in element somewhere or its configurable. Any information related to this would be greatly appreciated. Thanks. ---------------------------------------------------------------------- ElevenNotes · 2023-09-26 17:59 Synapse has an API, you can setup RBAC directly with your AD. Create groups in AD and then set RBAC to these AD groups, but not via GUI, only via API. ---------------------------------------------------------------------- AscendedGaming · 2023-09-26 18:08 Understood. While I can likely figure that out, it may not be as easy for some of the other members of our organization to handle that. That is why I specifically called out discord because the GUI aspect of the role management makes it super easy. The only real element of the role based access that I need, is to have specific chats locked to specific users. So for instance, 3 chats will be for group a, 3 for group b. If a person has group a permission, they will only see 3 chats, a person with group A/B permission will see 6, similar to discord. Discord does it all, which is what I am used to working with. Its just the lack of security and the lack of self-hosting that rules it out. I have looked at revolt as well, but I think that the name will give off the wrong opinions to people, as stupid as that sounds. It has a lot of the features that we are looking for though. ---------------------------------------------------------------------- devpierre · 2023-09-26 19:54 What do you mean by role based permission; do you simply mean an admin that can create new accounts? If so you might want to take look at Databag - https://github.com/balzack/databag. Once an account is created each user manages their own account. ---------------------------------------------------------------------- [deleted] · 2023-09-26 19:54 [deleted] ---------------------------------------------------------------------- AscendedGaming · 2023-09-26 20:06 On the surface, that looks really nice! Also, the unraid plugin part is really super nice! For role based permission, I am referring to how discord does it, where you can assign admin made roles and each of these carries a permission system. Mainly to restrict certain accounts to specific chats based on a role. My organization has many different layers of people, each with different chats. I want to make it so that I can give a specific user a specific role based on their "rank" and this will unlock the respective chats while keeping the others locked down. If databag can do that, then it looks to be perfect! ---------------------------------------------------------------------- Mrtheboyfull · 2023-09-26 20:07 Revolt is a pretty much 1:1 discord clone https://github.com/revoltchat ---------------------------------------------------------------------- AscendedGaming · 2023-09-26 20:13 I have used Revolt before. Revolt is right along the lines of what I am looking for from a UI perspective, although I don't see anything about security on their website, including encryption. Their GitHub seems to show that its not implemented yet. This is one of the 2 reasons I'm not just using discord, the other being that discord isn't self-hosted, which revolt does just fine. The other minor side is optics. I'm not sure how well asking 1,000+ people, many who are older, to download an app called "revolt" on their phones will go over, from an optics perspective. This can be overlooked though if its the only sticking point. ---------------------------------------------------------------------- devpierre · 2023-09-26 21:11 I don't think it will support exactly that usage model. For Databag a user creates a chat and assigns the people he/she wants to the chats. The person creating the chat is the one that manages the membership. Good luck on your search. ---------------------------------------------------------------------- sysadminafterdark · 2023-09-27 02:37 The correct answer here is a self hosted Mattermost instance. ---------------------------------------------------------------------- revereddesecration · 2023-09-27 02:43 Where exactly does Mattermost implement user roles? ---------------------------------------------------------------------- AscendedGaming · 2023-09-27 03:33 This was going to be my comment. I do have an instance of matterhost currently running on my unraid test bench and I do not see user configurable roles. Doing a quick search and it looks to be a future implementation. I currently only see the default management role that are not channel permissions. To be clear, the function I am seeking with user roles is how discord handles it. I can make 10 channels that a specific group should be in and assign that to the people as needed so they see those specific channels. Now apply this to hundreds of roles potentially. Like I said in the main post, I am looking to have around 2k people use this system, so it will need to be very organized, and that's not feasible to go through and manually dictate who is getting access to what channels individually because that could be multiple dozens of channels per person which will be changing based on what that person is managing at a given time. Having role based Channel perms like discord greatly simplifies this process from an administrative end. ---------------------------------------------------------------------- revereddesecration · 2023-09-27 07:39 I can’t recommend Zulip then, it does have user groups that allow you to add users to a channel in bulk but it’s not a proper role based permission system at all. ---------------------------------------------------------------------- AscendedGaming · 2023-09-27 12:29 I tried looking into zulip, but couldn't get it working correctly. That was the last thing I tried before posting here, rather than going down a potential rabbit hole for something that wouldn't work anyway. Here is a write up from discord on their role system, I am specifically interested in the functionality mentioned under "Part Three" which deals with role exclusive channels: [https://support.discord.com/hc/en-us/articles/214836687-Role- Management-101](https://support.discord.com/hc/en- us/articles/214836687-Role-Management-101) ---------------------------------------------------------------------- Brutus5000 · 2023-09-30 07:12 You didn't state which features of discord you need. Maybe Zulip? ---------------------------------------------------------------------- AscendedGaming · 2023-10-01 23:11 So here are the things that I need from discord: \- Ability to Assign users "Roles" or similar to have access to chat channels. Users will be rotating in and out of job roles regularly depending on project and due to the amount of people we have, it is necessary to have a more easily assignable permissions system. For instance, perm 1 gets you text channel 1, 2, &3, perm 2 gets you 4, 5, & 6, and perm 3 gets you channel 7, 8, & 9. A person with perm 1 and 3 can see channels 1, 2, 3, 7, 8, & 9 but not 4, 5, or 6. \- Phone app access \- Must scale to work well with 2000+ members ​ Here is why I am not using discord: \- Not secure \- Not Self-hosted \- No E2EE ​ Someone else posted that Tulip cannot do this, but if it can, that would be great. Do you have any additional information on this? Thanks. ---------------------------------------------------------------------- Brutus5000 · 2023-10-02 05:45 Ok the roles/groups as you describe them don't exist yet. There is an issue that documents some progress in this feature, but no eta or similar. ---------------------------------------------------------------------- AscendedGaming · 2023-10-02 14:35 I appreciate the information. Tulip will not work, as it sits now, for my use case. I'll keep an eye on the project, though, to see if those are added for a potential switch in the future. Thanks for your input on this situation!