Help me Understand How to Use ShinyProxy in Production

Hello all,
Apologize in advance if this question is general or basic, but I need help in understanding some foundational practices.

What I have:

Dockerized shiny apps deployed using ShinyProxy, hosted with on AWS ec2 instance, and linked with auth0 through ShinyProxy.

What I want to know

  1. How do I share this one app with my clients without them having to see the main page (and the nav bar)?

Now when I go to my www.example.com/myapp, the auth0 logging-in page pops up, once the user logs-in, it redirects them to the www.example.com rather than my app.

  1. How should I work with many shiny apps deployed with shiny proxy to several customers in production? Some of these apps will need to have no authentication, some of them need to give access to few users and while the other apps to different users. They all don’t need to see the main landing page.

I will really appreciate any theoretical or technical explanations. Thank you!

1 Like

In our instance of shinyproxy, a user can access an app directly with www.example.com/app/myapp. Maybe try to add the app portion in the URL? I don’t know if they would need to hit the main page to sign in first though and I’m not sure how you would hide the nav bar.

As far as your second question, one simple way to manage apps for several customers is to use group-based authorization. The shinyproxy documentation has an example for how to set it up with Auth0.
https://www.shinyproxy.io/documentation/configuration/#group-based-authorization

Hope that helps,
Justin

Thanks @Justin for your reply.

My redirection to a specific app still sends me to the home page even after adding the app to the path. I couldn’t find any information online on this! I start wondering how do people use shinyproxy to show shinyapps to public?

Hi @Riyadh_Radhi

In ShinyProxy 3.0.0 we changed the behavior that after login, users are always redirect to the main page, even if they first opened a page to a specific app. We did this to solve multiple issues with the login procedure.
In the meantime we received feedback from users that they don’t like this new behavior. Therefore, we are now improving this behavior, to redirect users back to the app page (while still solving the original issues).

You can try this build using the docker image openanalytics/shinyproxy-snapshot:3.0.2-SNAPSHOT-20230515.131226 or using the following jar: https://nexus.openanalytics.eu/repository/snapshots/eu/openanalytics/shinyproxy/3.0.2-SNAPSHOT/shinyproxy-3.0.2-20230515.131226-3.jar

See https://github.com/openanalytics/shinyproxy/issues/420 for more information.

1 Like

@Riyadh_Radhi

We share the main URL for the shinyproxy instance, then people use SSO to login. When they reach the main page, they only see the apps relevant to them, since we also use group-based authentication to determine which apps they see on the landing page. We rarely share apps with external collaborators, so there is little need for us to share a single app to be accessed by the URL directly.

I believe we also tweaked the default shinyproxy theme so that it was a bit more aesthetically pleasing, but could be wrong about that.

1 Like

Hello @tdekoninck,
Thank you for your prompt answer and continuous efforts in building shinyproxy. Indeed, it would be great to have the ability for a direct app redirection.

Unfortunately, I’m having difficulties trying the docker image or .jar you provided. I have a current version of shinyproxy installed using .deb on ubunutu. I tried to download the .jar. then use java -jar shinyproxy-3.0.2-20230515.131226-3.jar but I’m receiving this no main manifest attribute, in shinyproxy-3.0.2-20230515.131226-3.jar .

I would appreciate your guidance in making this version work. Thanks a lot for your time.

Hello @tdekoninck,

Thanks again for your guidance. I wanted to confirm that the docker image of openanalytics/shinyproxy-snapshot:3.0.2-SNAPSHOT-20230515.131226 worked so well and solved the redirection issue I had. In case others want to use it, I followed this example to learn how to use a containerized ShinyProxy.

Also, its worth noting that I couldn’t run the .jar file sent so I used the docker image.

Thanks,
Riyadh

Hi

Great that it has been solved. The URL to the jar was wrong, the correct URL to the jar is https://nexus.openanalytics.eu/repository/snapshots/eu/openanalytics/shinyproxy/3.0.2-SNAPSHOT/shinyproxy-3.0.2-20230515.131226-3-exec.jar (it should end with -exec).

1 Like

Hello! Do you know when 3.0.2 will be released? Meanwhile is there a chance to get a deb file for a corresponding jar?

Hi, we will release 3.0.2 in the coming weeks, but we still want to improve a few things.
In the meantime you can use the following deb file: https://cloud.openanalytics.eu/s/GSGSMxWm6Y4dLJN or rpm file: https://cloud.openanalytics.eu/s/HNsPft9G8imi9wE

2 Likes

Thanks a lot! Redirection to an app after sign-in works for me now.