Migrating your applications from Shiny Server Pro to RStudio Connect


If you are already familiar with Shiny Server Pro and are planning to move to 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 RStudio Connect user interface.

However, there is not a direct one-to-one relationship between Shiny Server Pro features and RStudio Connect features.  Certain Shiny Server Pro features either do not make sense in the context of RStudio Connect, or are not yet available. Most notably, you cannot run the server as a non-root user in RStudio Connect.  If your Shiny Server Pro implementation depends on that capability, then you may want to delay moving to RStudio Connect.

For a list of the major differences in features between Shiny Server Pro and RStudio Connect, please see our Pricing Comparison page.

Migration of Content

Shiny Server Pro does not use a manifest of package dependencies for the applications it hosts, while RStudio Connect does. Therefore, it is not possible to automatically migrate content from Shiny Server Pro to RStudio Connect.

The simplest approach to migrating content is to open Shiny applications in the RStudio IDE and publish them to an RStudio Connect server.

Migration of Settings

Settings for content deployed to RStudio 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 RStudio Connect.

Hosting and Administration

  • Custom headers
    Shiny Server Pro: set_header directive in /etc/shiny-server/shiny-server.conf
    RStudio 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
    RStudio 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
    RStudio 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
    RStudio 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
    RStudio Connect: RStudio 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
    RStudio Connect: Individuals can publish their content into RStudio 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
    RStudio Connect: Application authors can manage their content independently in the Connect dashboard

Metrics and Session Management

Support for session timeouts, killing sessions and processes, and application-level metrics is not yet available in RStudio Connect.


Detailed information on configuring authentication in RStudio Connect, including links to examples, can be found in this article.