I am trying to set up an R env and install base packages for all users. The package lives on gitlab and I am using the following to install it. What happens is that during the deployment everything works fine and I can see this package being built and end successfully. Howver, at the end I cannot access any packages either they were installed by mamba or by other commands. They don’t exist in lib folder. What can I improve ?
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
ARG BASE_CONTAINER=jupyter/r-notebook:hub-4.0.1
FROM $BASE_CONTAINER
ARG IMAGE_R_DEB_PATH=jammy
ARG STUDIO_VERSION=2023.06.1-524
# ============== ENV Variables ==============
ENV RSTUDIO_DEB=rstudio-server-${STUDIO_VERSION}-amd64.deb
ENV JUPYTER_SERVER_PROXY_VERSION=4.0.0
ENV JUPYTER_RSESSION_PROXY=2.2.0
LABEL maintainer="Maintainer <man@test.com>"
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
USER root
RUN python3 -m pip install \
jupyter-rsession-proxy==${JUPYTER_RSESSION_PROXY} \
jupyter-server-proxy==${JUPYTER_SERVER_PROXY_VERSION}
RUN apt-get update --yes\
&& apt-get install -yq apt-utils \
&& apt-get install -yq lmodern \
&& apt-get install -yq r-base \
&& apt-get install -y libaio1 libaio-dev
# R pre-requisites
RUN apt-get install --yes --no-install-recommends \
fonts-dejavu \
unixodbc \
unixodbc-dev \
r-cran-rodbc \
gfortran \
gcc && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# install Java (17) for use w/ rJava
RUN wget https://download.java.net/java/GA/jdk17/0d483333a00540d886896bac774ff48b/35/GPL/openjdk-17_linux-x64_bin.tar.gz
RUN tar xvf openjdk-17_linux-x64_bin.tar.gz
RUN rm openjdk-17_linux-x64_bin.tar.gz
RUN mv jdk-17 /opt/
ENV JAVA_HOME=/opt/jdk-17
RUN echo $JAVA_HOME
RUN echo "JAVA_HOME=$JAVA_HOME" >> /etc/environment
ENV PATH=$JAVA_HOME/bin:$PATH
# The desktop package uses /usr/lib/rstudio/bin
ENV PATH="${PATH}:/usr/lib/rstudio-server/bin"
RUN echo $PATH
RUN echo "PATH=$PATH" >> /etc/environment
# ENV LD_LIBRARY_PATH="/usr/lib/R/lib:/lib:/usr/lib/x86_64-linux-gnu:$JAVA_LD_LIBRARY_PATH:/opt/conda/lib/R/lib"
ENV LD_LIBRARY_PATH="/usr/lib/R/lib:/lib:/usr/lib/x86_64-linux-gnu:${JAVA_HOME}/lib/server:/opt/conda/lib/R/lib"
RUN echo $LD_LIBRARY_PATH
RUN echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> /etc/environment
USER ${NB_UID}
# i.e. unset
ENV RSTUDIO_DEB=
RUN echo "installing R packages"
# R packages including IRKernel which gets installed globally.
# r-e1071: dependency of the caret R package
RUN mamba install --yes \
'openjdk' \
'r-rgbif' \
'r-raster' \
'r-readxl' \
'r-rgeos' \
'r-sp' \
'r-rgdal' \
'r-rjava' \
'r-svmisc' \
'r-biomod2' \
'r-boot' \
'r-car' \
'datasets' \
'r-dismo' \
'r-earth' \
'r-gdalUtils' \
'r-ggdendro' \
'r-ggmap' \
'r-sf' \
'r-spatial' \
'r-tmap'
RUN mamba install --yes \
'r-base' \
'r-caret' \
'r-crayon' \
'r-devtools' \
'r-e1071' \
'r-forecast' \
'r-hexbin' \
'r-htmltools' \
'r-htmlwidgets' \
'r-irkernel' \
'r-nycflights13' \
'r-randomforest' \
'r-rcurl' \
'r-rmarkdown' \
'r-rodbc' \
'r-rsqlite' \
'r-shiny' \
'r-tidymodels' \
'r-tidyverse' \
'r-sass=0.4.7' \
'r-rcpp=1.0.11' \
'r-sp=1.6_1' \
'r-sf=1.0_14' \
'r-remotes' \
'unixodbc'
RUN mamba clean --all -f -y && \
fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}"
RUN R -e "remotes::install_gitlab('my_r_package', dependencies = TRUE)"
RUN echo "installing R packages COMPLETE"
RUN wget -O /opt/conda/lib/R/library/dismo/java/maxent.jar https://github.com/mrmaxent/Maxent/blob/71a46df9a1c054913d73c07a9b9ccd6c5c0dd3b9/ArchivedReleases/3.4.4/maxent.jar?raw=true
RUN R CMD javareconf -e