FROM rocker/r-ver:4.1.3 LABEL org.opencontainers.image.licenses="GPL-2.0-or-later" \ org.opencontainers.image.source="https://github.com/rocker-org/rocker-versioned2" \ org.opencontainers.image.vendor="Rocker Project" \ org.opencontainers.image.authors="Carl Boettiger " ENV S6_VERSION=v2.1.0.2 ENV RSTUDIO_VERSION=2022.02.1+461 ENV DEFAULT_USER=rstudio ENV PANDOC_VERSION=default ENV PATH=/usr/lib/rstudio-server/bin:$PATH # Install OpenJDK RUN apt-get update && apt-get install -y openjdk-8-jdk-headless openjdk-8-jre-headless # Install a lot of R packages ADD https://code-repo.d4science.org/gCubeSystem/r-packages-list/raw/branch/master/install2r-packages.txt /tmp RUN for f in `cat /tmp/install2r-packages.txt` ; do install2.r --error --skipinstalled --ncpus -1 $f ; done # Non CRAN repositories ADD https://code-repo.d4science.org/gCubeSystem/r-packages-list/raw/branch/master/r_non_cran_pkgs.txt /tmp RUN for l in `cat /tmp/r_non_cran_pkgs.txt` ; do \ pkg=`echo $l | cut -d : -f 1` ; \ mirror=`echo $l | cut -d : -f 2-` ; \ Rscript --slave --no-site-file --no-init-file --no-save --no-restore-history \ -e "install.packages(pkgs='$pkg', repos=c('$mirror/'));" ; done # From github ADD https://code-repo.d4science.org/gCubeSystem/r-packages-list/raw/branch/master/r_github_pkgs.txt /tmp RUN for g in `cat /tmp/r_github_pkgs.txt` ; do \ Rscript --slave --no-site-file --no-init-file --no-save --no-restore-history \ -e " require(devtools); devtools::install_github('$g')" ; done RUN /rocker_scripts/install_rstudio.sh RUN /rocker_scripts/install_pandoc.sh # This part comes from https://github.com/openanalytics/shinyproxy-rstudio-ide-demo/blob/master/Dockerfile RUN echo "www-frame-origin=disabled" >> /etc/rstudio/disable_auth_rserver.conf RUN echo "www-verify-user-agent=0" >> /etc/rstudio/disable_auth_rserver.conf ADD 03_setup_root_path.sh /etc/cont-init.d/03_setup_root_path.sh # By default RStudio does not give access to all enviornment variables defined in the container (e.g. using ShinyProxy). # Uncomment the next line, to change this behavior. ADD 04_copy_env.sh /etc/cont-init.d/04_copy_env.sh ADD 05_setup_rsession_parameters.sh /etc/cont-init.d/05_setup_rsession_parameters.sh EXPOSE 8787 CMD ["/init"]