If you are already familiar with Shiny Server Pro and are planning to move to Posit (formerly RStudio) Connect to take advantage of the new collaboration features, deployment enhancements, and content management features, this guide will help you transition between servers. In some cases, features that were only available by editing the Shiny Server Pro configuration file are now conveniently available directly in the Connect user interface.
However, there is not a direct one-to-one relationship between Shiny Server Pro features and Posit Connect features. Certain Shiny Server Pro features either do not make sense in the context of Connect, or are not yet available. Most notably, you cannot run the server as a non-root user in Connect. If your Shiny Server Pro implementation depends on that capability, then you may want to delay moving to Connect.
For more information about the differences between Shiny Server Pro and Posit Connect, please see this additional article about Migrating to Posit Connect from Shiny Server Pro.
Our guide also has more information.
Migration of Content
Shiny Server Pro does not use a manifest of package dependencies for the applications it hosts, while Posit Connect does. Therefore, it is not possible to automatically migrate content from Shiny Server Pro to Connect.
The simplest approach to migrating content is to open Shiny applications in the RStudio IDE and publish them to a Connect server.
Migration of Settings
Settings for content deployed to Connect are currently managed individually; each application and document you publish must be configured separately. The following is a list of settings that you may be using in Shiny Server Pro, with their parallel settings in Connect.
Hosting and Administration
- Custom headers
Shiny Server Pro: set_header directive in /etc/shiny-server/shiny-server.conf
Connect: Server.CustomHeader setting in /etc/rstudio-connect/rstudio-connect.gcfg
- Specify SockJS protocols
Shiny Server Pro: disable_protocols directive in /etc/shiny-server/shiny-server.conf
Connect: Applications.DisabledProtocols setting in /etc/rstudio-connect/rstudio-connect.gcfg
- Customize the run user for each application
Shiny Server Pro: run_as directive in /etc/shiny-server/shiny-server.conf
Connect: Administrators can customize the RunAs user on a content-specific level in the Connect dashboard, on the Access tab of the application or document settings.
- Customize Shiny scaling settings
Shiny Server Pro: utilization_scheduler directive in /etc/shiny-server/shiny-server.conf
Connect: The default settings are configured in the Scheduler section of /etc/rstudio-connect/rstudio-connect.gcfg, and custom scheduler settings for individual applications can be set in the Connect dashboard in the Performance tab of an application or document page.
- Set the R version for a given application
Shiny Server Pro: r_path directive within a location in /etc/shiny-server/shiny-server.conf
Connect: Connect uses Packrat to manage the packages associated with each application, and when you publish an application it will identify a compatible version of R automatically based on the author's environment. That same R installation is used any time R is needed for that content; there is no need to set the version in a configuration file on the server.
- Host a directory of applications
Shiny Server Pro: site_dir directive within a location in /etc/shiny-server/shiny-server.conf
Connect: Individuals can publish their content into Connect themselves, rendering this feature redundant.
- Local application configurations
Shiny Server Pro: allow_app_override directive in /etc/shiny-server/shiny-server.conf, in conjunction with a .shiny_app.conf file in each application
Connect: Application authors can manage their content independently in the Connect dashboard
Metrics and Session Management
- Historical system metrics
Shiny Server Pro: admin directive in /etc/shiny-server/shiny-server.conf enables the admin dashboard
Connect: Metrics section of /etc/rstudio-connect/rstudio-connect.gcfg enables the collection of historical metrics, which can then be viewed [where]
- Graphite export
Shiny Server Pro: graphite_enabled directive in /etc/shiny-server/shiny-server.conf
Connect: Metrics.GraphiteEnabled setting in /etc/rstudio-connect/rstudio-connect.gcfg
- Health check
Shiny Server Pro: /__health-check__ endpoint
Connect: /__health-check__ endpoint
Support for session timeouts, killing sessions and processes, and application-level metrics is not yet available in Connect.
Detailed information on configuring authentication in Connect, including links to examples, can be found in this article.
- Flat file authentication
Shiny Server Pro: auth_passwd_file directive
Connect: Authentication.Provider = password
- PAM authentication
Shiny Server Pro: auth_pam directive
Connect: Authentication.Provider = pam, and [PAM] setting
- LDAP and Active Directory authentication
Shiny Server Pro: auth_ldap or auth_active_dir directive
Connect: Authentication.Provider = ldap, and [LDAP] setting
- Proxied authentication
Shiny Server Pro: auth_proxy directive
Connect: Authentication.Provider = proxy, and [ProxyAuth] setting
- Google authentication
Shiny Server Pro: auth_google directive
Connect: Authentication.Provider = oauth2, and [OAuth2] setting
- SSL support
Shiny Server Pro: ssl directive
Connect: [Https] section
Shiny Server Pro: PAM sessions
Connect: PAM sessions