81 lines
3.2 KiB
Docker
81 lines
3.2 KiB
Docker
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 <cboettig@ropensci.org>"
|
|
|
|
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
|
|
|
|
# Some R dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
libxml2 \
|
|
git \
|
|
gdal-bin \
|
|
netcdf-bin \
|
|
sshpass \
|
|
p7zip-full \
|
|
sox \
|
|
imagemagick \
|
|
proj-bin \
|
|
proj-data \
|
|
libgsl23 \
|
|
postgresql-server-dev-all \
|
|
libsecret-1-0
|
|
|
|
# Install the R packages we need, using the binary distribution
|
|
# at https://packagemanager.rstudio.com/client/#/repos/1/overview
|
|
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 mkdir -p /etc/R
|
|
#RUN echo "GITHUB_PAT=$GITHUB_PAT" >> /etc/R/Renviron.site
|
|
#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 for g in `cat /tmp/r_github_pkgs.txt` ; do installGithub.r -d TRUE -u FALSE -r https://packagemanager.rstudio.com/all/__linux__/focal/latest $g ; done
|
|
#RUN grep -v "GITHUB_PATH" /etc/R/Renviron.site > /etc/R/Renviron.site.1
|
|
#RUN mv -f /etc/R/Renviron.site.1 /etc/R/Renviron.site
|
|
RUN installGithub.r -d TRUE -u FALSE -r https://packagemanager.rstudio.com/all/__linux__/focal/latest DanOvando/sraplus
|
|
|
|
# Ensure that we remove the source packages
|
|
RUN rm -fr /tmp/downloaded_packages/*
|
|
|
|
RUN /rocker_scripts/install_rstudio.sh
|
|
RUN /rocker_scripts/install_pandoc.sh
|
|
|
|
# Add the mountpoint for the workspace
|
|
RUN mkdir /workspace
|
|
|
|
# This part comes from https://github.com/openanalytics/shinyproxy-rstudio-ide-demo/blob/master/Dockerfile
|
|
RUN echo "www-frame-origin=same" >> /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"]
|