Open engelgabriel opened 9 years ago
:+1:
Watching... :+1:
Watching. We also need this badly! :+1:
Watching... :+1:
I tried to reach @steedos but got no response.. and asked few rocketchat guys and they were not clear either.. so I assume there is no one actually working on this issue currently?
@byhub Yes, you are right, we are no working on this feature right now.
Hello guys, sorry for reply late. we are working on steedos backend to support multi teams in one instance. and just released the first version. https://github.com/steedos/apps/ , with a demo at https://us.steedos.com/
When we try to start the rocket chat intergration, we found the following problems:
Hi @steedos, is Steedos ready to install in our own server?? We are planning EduCaaS integration with similar services (Sandstorm-like)
@dalareo Yes, steedos can install in your own server. you can use the admin app, and we will release a cms app in a month, only the workflow app need an extra workflow engine server written in ruby, and we have a plan to transfer the old ruby server to meteor.
@steedos https://www.steedos.com/us/chat/ is this a bundled rocket.chat of some sort? or an independent slack clone? does it already have multi-team stuff?
@codyaray, Yes, It is a bundled rocket.chat, It's not a multi-team stuff.
What's the good word on this so far?
We are also looking for this, a multi-tenant architecture for rocket.chat, preferably with subdomains for each tenant. Anyone else have any progress here to report, am thinking about adding a bounty if that would help.
When status to be changed to release?
Any update on this guys ? @engelgabriel @rodrigok
I am also looking for this.
Meantime, is there any other way to simulate multiple organizations on single instance? Like running multiple instances of Rocket.chat on different ports with different DBs? How many such instances can be run?
There was some discussion around Partitioner & error while using it. artisin had suggested some wayout (https://github.com/RocketChat/Rocket.Chat/issues/658#issuecomment-161090283), but there is no discussion after that. Will that fix the thing?
@anandsork you should be able to run multiple processes on different ports with different DBs behind a load balancer to proxy chat.example1.com -> localhost:3001, chat.example2.com -> localhost:3002, etc.
In the init scripts for each process, set the MONGO_URL to mongodb://localhost:27017/rocketchat1, rocketchat2 etc. (It doesn't matter what these are; they're created when you start the process.)
Here's a tutorial for running multiple processes on one instance for performance. It'll be a similar idea but with more frontends in the load balanacer and differently-configured upstart scripts.
@codyaray , Thanks a lot for your input. I shall try this out. Is there any link for the tutorial you mentioned? Seems that it got stripped off in the message. Load balancer with upstart scripts seems to be great idea.
Weird, here it is again. Sorry about that.
https://rocket.chat/docs/installation/manual-installation/multiple-instances-to-improve-performance/
I'm slightly confused, this seemed to have a lot of attention from the Rocket.Chat team in late 2015, but it doesn't seem to have been implemented. Has it?
No it hasn't. I haven't found anything besides this commit mentioned in RocketChat/Rocket.Chat#630.
Any news on this one please ?
@codyaray That's a load balancer environment. As I understood this ticket, it's about having some kind of teams in Rocket.Chat like Mattermost has. In Mattermost, you can create different teams, that are independent from each other, but share the same user-base. For example you can create TeamA and TeamB. Now when UserA creates an account, you give them access to TeamA only and UserB to TeamB.
In this case, UserA can only see TeamA and wouldn't even know about TeamB. The benefit is, that its possible to have an user in multiple teams. Like give UserA access to Project1 and Project2, but not Project3 or Project 4. The UserA has a single account for all his teams.
That's the problem what let me discourage from using Rocket.Chat: I need to create two teams for different projects. which are independent. But as I'm mentor both projects, I need to be a member of both too.
With Rocket.Chat, the only solution seems to be create two different instances. This wouldn't result in a good user-experience since I have to logout from ProjectA's instance to use ProjectB's instance. Consistent notifications on a mobile device wouldn't be possible, cause I'm only logged in to one instance at the same time.
It's pity that Rocket.Chat doesn't offer such a feature. I tested Rocket.Chat and Mattermost, and liked Rocket.Chat more. But I need two teams, so I have to use Mattermost, since this feature doesn't exist in Rocket.Chat.
@DMWOO7 I've been able to manage teams, that is upon creation of a team in Rocket.Chat, another instance of Rocket.Chat will be created, each one separated and each has it's own database and using nginx as a proxy server and access different teams from a single url. The problem of authentication can be resolved by the use of API, so the switching between teams is possible.
Please @chellem , could you explain us?
Why cant there just be a teams collection with a "company ID" and then a user belongs to that company and then they can only access things associated with said company ID... maybe I don't understand MongoDB that well but I'd love to include this with our software but we need to figure out how to implement such a feature. :)
Hello all,
I am currently evaluating rocket.chat for migration from mattermost. Huge advantages include the ability to use rocket.chat's enterprise features in an open source version (especially SAML for us).
However, this feature is killer in mattermost. Could those of us interested in this feature put a bounty on it? I am happy to contribute! I've put my bounty in bounty source as indicated above (see here).
Thank you
Happy 2 year Anniversary (of this issue being ignored by the admins)!
:birthday::birthday::birthday::birthday::birthday: :balloon::balloon::balloon::balloon::balloon: :tada::tada::tada::tada::tada:
This would be such a helpful feature. How much work is still needed? (or more directly put: How much bounty would be needed to get this done?)
@FrederickLjungberg You're welcome to start some work on it
@Creanimo I agree. I'm available to help either with coding or with the bounty.
This feature request is for sure not ignored. We are well aware of it. It's a significant amount of work. A lot of the stuff we are working on will lay the ground work for this feature.
following - would love to see this feature.
Following!
Following - This would be very nice feaure.
would love to have this feature! Is there any branch where development for this is going on?
It would be nice indeed! Following
Does anyone know if there is a branch in progress?
+1
+1
Referring to the spaces idea:
This is a very nice Pattern to use for such a usecase. Is there any update concerning the mentioned idea of a possible rocket.chat integration?
+1
This feature request is for sure not ignored. We are well aware of it. It's a significant amount of work. A lot of the stuff we are working on will lay the ground work for this feature.
@geekgonecrazy are you able to elaborate on what you're currently working towards? For instance, would it be something similar to Mattermost's (and Discords?) model with one user on the server that can join/be added to more than one team, or like Slack where the user can switch between different accounts on different instances (/servers) in the UI?
Besides the leak of PostgreSQL support (issue RocketChat/Rocket.Chat#533) this is a show-stoppers for my employer to consider Rocket.Chat over Mattermost which we're testing out now.
We are currently evaluating different chat software and fell in love with Rocket Chat. But missing that particular feature is a blocker for us. Is there any vague ETA I can convince my management with to bet on Rocket Chat? Is it possible to sponsor development on this to speed things up?
This issue needs documentation summarizing these two years of conversation and pointing out the points that the community can help
We might should actually title this issue multi-tenant.
There are pretty much two different things at play here.
You'd be able to completely isolate organizations and their teams from each other.
Something like one server being able to handle: chat.something.com chat.something2.com and both have isolated users and channels while utilizing the same CPU resources.
Being able to have teams in an organization. These teams would have their own channels, users would belong to those teams. But they would also be able to have shared channels between teams.
We are likely much closer to the second one. The first one is what this issue is actually for.
Depending on how the actual implementation looks like "Multi team per Org" would include a lot of aspects of "Multi Org".
Creating a team for each organization on the same server should provide enough isolation between organizations for most use cases.
We are likely much closer to the second one.
Would you mind being more specific on this? Are we talking about an ETA of weeks, month, years?
Would you mind being more specific on this? Are we talking about an ETA of weeks, month, years?
I don't really have a solid ETA. But I can say: Not years. But probably not weeks either. Its on our Mid-Term roadmap, a few months out would be best estimate currently. Of course things can always change :)
If a contributor wished to help out on making this a reality we would definitely help out and try to help them land a PR.
@geekgonecrazy I need multiple org to utilize resources somehow, but even a modified version of Multi Team per Org may also work. I have been modifying rocket.chat for a while to help with my new product. I understand the Meteor and NodeJS to some extent.
how can I help, and how is the process?
No work started directly on this. It's a very big under taking. I think it will be a bit easier to say how you could help once we go into planning stage.
@geekgonecrazy: you mean even the second one, "Multi Team per Org" still hasn't started? I can code with your team for about 10 hours / week for 3-4 months, and then depending on the situations, have a dedicated developer work with your team for 2-3 months. That is only for the "Multi Team per Org", right?
Transparently divide a single server into several different instances shared between different groups of users.
Evaluate https://atmospherejs.com/mizzao/partitioner