Migrating your applications from Shiny Server Pro to Posit (RStudio) Connect

Follow

 

This article has been superseded by this How-To:

How-To Migrate Shiny Server Pro to Posit Connect

 

 

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

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

Authentication

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

 

 

Comments