RStudio Server Guide

From Irregularpedia
Jump to navigation Jump to search

RStudio Server Guide

Return to Server Guides Return to Research

This guide is based on the RStudio Server Guide. It is designed to help you get started with RStudio Server, a web-based interface for R programming. RStudio Server allows you to run R and RStudio in a web browser, providing a flexible and accessible data analysis and visualization environment.

Requirements

  • Docker installed on your system.
  • Basic understanding of Docker commands and R programming.

Steps to Set Up RStudio Server with Docker

Pull the RStudio Docker Image

docker pull rocker/rstudio

Create a Dockerfile

Include necessary system dependencies and R packages in your Dockerfile:

FROM rocker/rstudio 

RUN apt clean all && \
    apt update && \
    apt upgrade -y && \
    apt install -y \
        libhdf5-dev \
        libcurl4-gnutls-dev \
        libssl-dev \
        libxml2-dev \
        libpng-dev \
        libxt-dev \
        zlib1g-dev \
        libbz2-dev \
        liblzma-dev \
        libglpk40 \
        libgit2-dev \
    && apt clean all && \
    apt purge && \
    rm -rf /var/lib/apt/lists/'' /tmp/'' /var/tmp/''

RUN Rscript -e "install.packages(c('rmarkdown', 'tidyverse', 'workflowr', 'shiny', 'blogdown', 'bookdown', 'learnr', 'xaringan', 'rticles', 'pkgdown', 'devtools', 'usethis', 'testthat', 'roxygen', 'rhub', 'covr', 'rmarkdown', 'knitr', 'dplyr', 'readr', 'packrat', 'rsconnect'))"

WORKDIR /home/rstudio

Build Your Custom Docker Image

docker build -t my-rstudio .

Run Your Custom Container

docker run -d -p 8787:8787 -e PASSWORD=yourpassword my-rstudio

Run Multiple Instances (Optional)

You can run multiple RStudio Server instances for different users by specifying unique ports and credentials:

docker run -d -p 8788:8787 -e USER=user1 -e PASSWORD=user1password my-rstudio
docker run -d -p 8789:8787 -e USER=user2 -e PASSWORD=user2password my-rstudio

Combined Commands for Quick Setup

docker pull rocker/rstudio
touch Dockerfile
echo "FROM rocker/rstudio" >> Dockerfile
echo "RUN apt clean all && \\" >> Dockerfile
echo "    apt update && \\" >> Dockerfile
echo "    apt upgrade -y && \\" >> Dockerfile
echo "    apt install -y \\" >> Dockerfile
echo "        libhdf5-dev \\" >> Dockerfile
echo "        libcurl4-gnutls-dev \\" >> Dockerfile
echo "        libssl-dev \\" >> Dockerfile
echo "        libxml2-dev \\" >> Dockerfile
echo "        libpng-dev \\" >> Dockerfile
echo "        libxt-dev \\" >> Dockerfile
echo "        zlib1g-dev \\" >> Dockerfile
echo "        libbz2-dev \\" >> Dockerfile
echo "        liblzma-dev \\" >> Dockerfile
echo "        libglpk40 \\" >> Dockerfile
echo "        libgit2-dev \\" >> Dockerfile
echo "    && apt clean all && \\" >> Dockerfile
echo "    apt purge && \\" >> Dockerfile
echo "    rm -rf /var/lib/apt/lists/'' /tmp/'' /var/tmp/''" >> Dockerfile
echo "RUN Rscript -e \"install.packages(c('rmarkdown', 'tidyverse', 'workflowr', 'shiny', 'blogdown', 'bookdown', 'learnr', 'xaringan', 'rticles', 'pkgdown', 'devtools', 'usethis', 'testthat', 'roxygen', 'rhub', 'covr', 'rmarkdown', 'knitr', 'dplyr', 'readr', 'packrat', 'rsconnect'))\"" >> Dockerfile
echo "WORKDIR /home/rstudio" >> Dockerfile
docker build -t my-rstudio .
docker run -d -p 8787:8787 -e PASSWORD=yourpassword my-rstudio

Notes and References