RStudio professional product requirements

Follow

Overview

RStudio professional server products run on modern Linux operating systems and web browsers as described in platform support. Using RStudio professional products typically requires the following:

  1. The R programming language and access to an R package repository are required for Workbench, Package Manager, and versions of RStudio Connect prior to version 2022.09.0.* 
  2. Privileges for installing and running
  3. Configuration to a user authentication scheme

*As of version 2022.09.0, although R is still a recommended installation, R is no longer a required prerequisite for installing RStudio/Posit Connect. 

Configurations that load balance across two or more nodes have additional requirements. Detailed instructions for getting started with RStudio professional products can be found at docs.rstudio.com.

Privileges and Root Requirements

RStudio's professional products are designed to run R and Python code safely. The products take advantage of sandboxing and user impersonation. The full details of RStudio Team's privilege requirements are outlined here.

RStudio Team Product Requirements

RStudio Team is a bundle of RStudio professional products for doing statistical data-analysis, sharing data products, and managing packages.


  RStudio
Workbench
RStudio
Connect
RStudio
Package Manager
Environment      
Linux operating system
Web browser
R programming language (3)
R package repository (3)
Internet access

Python

User authentication      
PAM / LDAP / AD / OAuth / Proxied Auth / SAML  
User provisioning      
Local accounts  
Load balancing (optional)      
External load balancer (1)  
Shared storage (2)
Shared home (2)    
PostgreSQL database

● Required    ○ Recommended
(1) Sticky sessions are required for load balancing RStudio Connect
(2) NFS is recommended

(3) As of version 2022.09.0, although R is still a recommended installation, R is no longer a required prerequisite for installing RStudio/Posit Connect. Prior versions still require R to be installed. 

Shiny Server Pro Requirements

Shiny Server Pro has the same requirements as RStudio Connect, except it does not require a PostgreSQL database for load balancing. Shiny Server Pro lacks the complete feature set that RStudio Connect provides, and notably does not have support for convenient push-button publishing. If you are deciding which product to use with Shiny, see What is the difference between RStudio Connect, Shiny Server Pro, and Shinyapps.io?

Details

Linux operating system

RStudio professional server products run on specific Linux distributions as described in platform support. RStudio makes R binaries and R package binaries available for free; however, if you need to compile R and R packages from source you will also need a C++11 compiler.

Web browser

RStudio professional server products are accessed via modern web browsers as described in platform support.

R programming language

The general policy for R version support is to support the current version, the devel version, and four previous versions of R. We recommend running multiple versions of R side by side and upgrading R yearly. RStudio distributes R binaries for a wide range of Linux distributions. For instructions on installing R on Linux see docs.rstudio.com.

R package repository

R packages are updated frequently, so users will need access to multiple versions of packages over time. You should adopt a package management strategy as described in environments.rstudio.com. At a minimum, RStudio products — including RStudio Connect — must be able to install packages from a repository using install.packages. We recommend using RStudio's online package manager for free, or purchasing RStudio Package Manager for use behind your firewall. 

Internet access

System access to the Internet is useful for downloading new versions of R, installing R packages, and updating system dependencies. If you are working in an air gapped environment, we strongly recommend using RStudio Package Manager. RStudio Package Manager communicates with an RStudio CRAN service to access CRAN packages and metadata. In offline environments, it is possible to directly download the necessary data from the RStudio CRAN service and then copy it to an offline RStudio Package Manager server.

Configuring a user authentication scheme

RStudio professional server products (with the exception of RStudio Package Manager, which does not require authentication) are configurable with PAM, LDAP, Active Directory, SAML, and OAuth. OAuth and SAML for RStudio Workbench (previously RStudio Server Pro) requires version 1.4 and above.

Authentication schemes not directly supported in the products can be configured using proxied authentication. In this configuration, all traffic is routed to a proxy server that handles user authentication.

Local accounts

Because it serves programmers, RStudio Workbench requires local accounts regardless of what RStudio authentication method you use. You should set up local accounts manually and then map authenticating users to these accounts. You can also use PAM Sessions to mount your user home directory to the server. RStudio Connect is typically configured with local service accounts because it serves end users not programmers, but some deployments may require local accounts for specific cases such as publisher impersonation.

External load balancer

Configurations that load balance across two or more nodes require a load balancer. RStudio Workbench has a built in load balancer. You can [optionally] proxy traffic to RStudio Workbench through an external load balancer. RStudio Connect requires an external load balancer that supports sticky sessionsRStudio Package Manager requires an external load balancer, but does not require sticky sessions.

Shared storage

For configurations that load balance across two or more nodes you will need a networked storage solution. Shared storage is used to persist content such as project files and application data across your network. We recommend and support the NFS protocol.

Shared home

RStudio Workbench stores shared metadata in user home directories. If you mount home directories with NFS, we recommend using the async mount option along with a modern, high-throughput network connection that can support many simultaneous clients. If you would like your users to be able to share their projects with each other, see project sharing for additional NFS requirements.

PostgreSQL database

For configurations that load balance, you will need to create an external PostgreSQL database so metadata can be shared across your network. As of the release of RStudio Server Pro 1.4 (now RStudio Workbench), all three products use a PostgreSQL database to store metadata such as usage metrics, application logs, and schedules. See understanding the RStudio product databases for more information.

References 

Comments