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:
- The R programming language and access to an R package repository
- Privileges for installing and running
- Configuration to a user authentication scheme
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.
|Linux operating system||●||●||●|
|R programming language||●||●||○|
|R package repository||●||●||○|
|PAM / LDAP / AD / OAuth / Proxied Auth / SAML||●||●|
|Load balancing (optional)|
|External load balancer (1)||●||●|
|Shared storage (2)||●||●||●|
|Shared home (2)||●|
● Required ○ Recommended
(1) Sticky sessions are required for load balancing RStudio Connect
(2) NFS is recommended
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?
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.
RStudio professional server products are accessed via modern web browsers as described in platform support.
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 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.
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.
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 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.
Because it serves 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 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.
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 sessions. RStudio Package Manager requires an external load balancer, but does not require sticky sessions.
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.
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.
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, all thee 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.