Support

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
  2. Root privileges for installing and running
  3. Configuration to a user authentication scheme

Configurations that load balance across two or more nodes have additional requirements. See below for a description of individual product requirements.

RStudio Team

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


  RStudio
Server Pro
RStudio
Connect
RStudio
Package Manager
Environment      
Linux operating system
Web browser
R programming language
R package repository
Internet access
Privileges      
Installing as root
Running as root  
User authentication      
PAM / LDAP / AD / Google / Proxied Auth / SAML (1)  
Local accounts    
Load balancing (optional)      
External load balancer (2)  
Shared storage (3)
Shared home (3)    
PostgreSQL database  

● Required    ○ Recommended
(1) SAML is only available for RStudio Connect

(2) Sticky sessions are required for load balancing RStudio Connect
(3) NFS is recommended

Shiny Server Pro

Shiny Server Pro has the same requirements as RStudio Connect, except it does not require a PostgreSQL database. 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?

Requirements

Linux operating system

RStudio professional server products run on specific Linux distributions as described in platform supportYou will also need a C++11 compiler in order to to compile R and R packages from source. 

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 upgrading R yearly. To install additional versions of open-source R side-by-side you will need to build R from source. We recommend building R from source to prevent unexpected changes to the version of R installed by your system package manager.

R package repository

R packages are updated frequently, so users will need access to multiple versions of packages over time. At a minimum, RStudio products — including RStudio Connect — must be able to install packages from a CRAN-like repository using install.packages. We recommend organizations use RStudio Package Manager and adopt a package management strategy as described in environments.rstudio.com.

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.

Installing as root

RStudio Server Pro and RStudio Connect require root privileges for installing. It is recommended that RStudio Package Manager installs as root, but it is not required. Note that system-wide installations of R on Linux often involve root privileges also.

Running as root

Some RStudio products require root while running. RStudio Server Pro runs as the root user in order to create new R sessions on behalf of users. RStudio Connect runs as the root user in order to isolate applications and processes. RStudio Package Manager does not require root for running.

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, and Google OAuth. Only RStudio Connect supports SAML at this time. Authentication can also be configured using proxied authentication. In this configuration all traffic to the application server is handled by a proxy server which also handles user authentication.

Local accounts

Because it serves R programmers, RStudio Server Pro 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 can be configured without local accounts because it serves end users not R programmers.

External load balancer

Configurations that load balance across two or more nodes require a load balancer. RStudio Server Pro has a built in load balancer. You can [optionally] proxy traffic to RStudio Server Pro 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 Server Pro 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

RStudio Connect and RStudio Package Manager both store shared metadata in internal SQLite databases. For configurations that load balance, you will need to create and manage an external PostgreSQL database so metadata can be shared across your network. The PostgreSQL database stores metadata such as usage metrics, application logs, and schedules. See understanding the RStudio product databases for more information.

References 

Comments