openanalytics / shinyproxy

ShinyProxy - Open Source Enterprise Deployment for Shiny and data science apps
https://www.shinyproxy.io
Apache License 2.0
519 stars 151 forks source link

Multiple Users per App Instance #395

Closed nik-humphries closed 4 months ago

nik-humphries commented 1 year ago

I've had a look at previous requests and seen that maybe https://github.com/openanalytics/shinyproxy/issues/328 is similar and https://github.com/openanalytics/shinyproxy/issues/296 kind of addresses the opposite issue that I'm requesting.

It probably goes against the whole concept of ShinyProxy as well so might not be something you are wanting to implement.

There are definitely circumstances where there isn't a requirement for an individual instance of an app per user. Perhaps if an app was something like a dashboard, or something that mainly is there to view or is incredibly lightweight. In these cases you can get by with multiple users on the same R thread. In fact you can already do this by having multiple users log in as the same user and run the same instance (issue #296 requested to have different instances for those very users).

One other case we have is where we have a publicly accessible app that is a game we would want people to play. Access is anonymous so they currently all connect to the same instance, but we would probably want to limit n users per instance.

Would you ever consider the possibility of having a shared instance per all users or per n users? e.g.

An instance of App 1 is created when User 1 loads it. Users 2 - n all connect to that same instance of App 1.

or

An instance of App 1 is created when User 1 loads it. Users 2-5 connect to instance 1. User 6 loads App 1 and it creates a new instance. users 7-10 connect to this second instance.

This is a little bit how shinyapps.io works, although they actually use load balancing to estimate when to put a user on a different instance / spin a new one up.

Is this too far away from the concept of ShinyProxy or too difficult to implement?

dominiqueemmanuel commented 1 year ago

Do you have any news about the possibility of having several users on the same instance?

nik-humphries commented 1 year ago

One solution I have for this where anonymous access is okay is to create N logins and distribute those amongst users who want to access applications.

This of course doesn't solve non-anonymous requirements :)

LEDfan commented 8 months ago

Hi, this will be implemented as part of the per-initalization feature, see https://github.com/openanalytics/shinyproxy/issues/322#issuecomment-1873703511 for more information.

nik-humphries commented 4 months ago

Looking forward to it!

LEDfan commented 4 months ago

Hi, this is now part of the ShinyProxy 3.1.0 we released today. We hope you enjoy this feature!