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
- Root 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.
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.
|Linux operating system||●||●||●|
|R programming language||●||●||○|
|R package repository||●||●||○|
|Installing as root||●||●||○|
|Running as root||●||●|
|PAM / LDAP / AD / Google / Proxied Auth / SAML (1)||●||●|
|Load balancing (optional)|
|External load balancer (2)||●||●|
|Shared storage (3)||●||●||●|
|Shared home (3)||●|
● 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 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 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.
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.
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.
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.
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.
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.