What is ShinyProxy?
ShinyProxy is your favourite way to deploy Shiny apps in an enterprise context. It has built-in functionality for LDAP authentication and authorization, makes securing Shiny traffic (over TLS) a breeze and has no limits on concurrent usage of a Shiny app.
Why use it?
- you want to seamlessly deploy Shiny apps that were developed locally using the Shiny R package
- you need enterprise features but want to stay with open source
- you trust Java on the server side for running your Shiny apps
- you want to get all benefits offered by Docker-based technology
Java Server Side
ShinyProxy uses time-tested and mature enterprise Java technology bundled nicely as a Spring boot web application.
When deploying a Shiny application with ShinyProxy, the application is simply bundled as an R package and installed into a Docker image. Every time a user runs an application, a container spins up and serves the application. This has numerous advantages:
- fully isolated 'workspace' per session
- plug and play different docker images (even with different R versions or different Shiny versions)
- control on memory and cpu usage via the Docker API
- monitoring and debugging using standard Docker tooling
Open Source Shiny Package
The ShinyProxy only uses functionality that is available in the open source R package and does not rely on any server version of Shiny. This allows for a clean separation between the statistical/business logic in R and the management of the applications in ShinyProxy.