Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DH-337] upgrade R, R studio to latest version on hubs #5945

Merged
merged 5 commits into from
Aug 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 38 additions & 50 deletions deployments/biology/image/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM buildpack-deps:focal-scm
FROM buildpack-deps:jammy-scm

ENV TZ=America/Los_Angeles
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
Expand Down Expand Up @@ -29,22 +29,11 @@ RUN apt-get update -qq --yes > /dev/null && \
apt-get install --yes -qq \
libpython2.7 > /dev/null

## libraries required for mothur
## libreadline6 required
#RUN apt-get update -qq --yes > /dev/null && \
# apt-get install --yes -qq \
# libreadline6-dev > /dev/null

## library required for fast-PCA & https://github.com/DReichLab/EIG
RUN apt-get update -qq --yes && \
apt-get install --yes --no-install-recommends -qq \
libgsl-dev >/dev/null

## library required for running ccb293 package qiime
#RUN apt-get update -qq --yes > /dev/null && \
# apt-get install --yes -qq \
# tzdata > /dev/null

# Install these without 'recommended' packages to keep image smaller.
# Useful utils that folks sort of take for granted
RUN apt-get update -qq --yes && \
Expand All @@ -64,25 +53,48 @@ RUN apt-get update -qq --yes && \
RUN echo "${LC_ALL} UTF-8" > /etc/locale.gen && \
locale-gen

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
RUN echo "deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/" > /etc/apt/sources.list.d/cran.list
# Needed by RStudio
RUN apt-get update -qq --yes && \
apt-get install --yes --no-install-recommends -qq \
psmisc \
sudo \
libapparmor1 \
lsb-release \
libclang-dev \
libpq5 > /dev/null

# Needed by many R libraries
# Picked up from https://github.com/rocker-org/rocker/blob/9dc3e458d4e92a8f41ccd75687cd7e316e657cc0/r-rspm/focal/Dockerfile
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libgdal-dev \
libgeos3.10.2 \
libproj22 \
libudunits2-0 \
libxml2 > /dev/null

# Install R packages
# Our pre-built R packages from rspm are built against system libs in focal
# rstan takes forever to compile from source, and needs libnodejs
# So we install older (10.x) nodejs from apt rather than newer from conda
ENV R_VERSION=4.1.2-1.2004.0
# Install R.
# These packages must be installed into the base stage since they are in system
# paths rather than /srv.
# Pre-built R packages from rspm are built against system libs in jammy.
ENV R_VERSION=4.4.1-1.2204.0
ENV LITTLER_VERSION=0.3.19-1.2204.0
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
RUN echo "deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/" > /etc/apt/sources.list.d/cran.list
RUN echo "deb https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/" > /etc/apt/sources.list.d/cran.list
RUN curl --silent --location --fail https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc > /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
RUN apt-get update -qq --yes > /dev/null && \
apt-get install --yes -qq \
r-base-core=${R_VERSION} \
r-base-dev=${R_VERSION} \
r-cran-littler=0.3.14-1.2004.0 \
libglpk-dev \
libzmq5 \
nodejs npm > /dev/null
r-base-core=${R_VERSION} \
r-base-dev=${R_VERSION} \
littler=${LITTLER_VERSION} \
libglpk-dev \
libzmq5 \
nodejs npm > /dev/null

ENV RSTUDIO_URL=https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2024.04.2-764-amd64.deb
RUN curl --silent --location --fail ${RSTUDIO_URL} > /tmp/rstudio.deb && \
apt install --no-install-recommends --yes /tmp/rstudio.deb && \
rm /tmp/rstudio.deb

# Install desktop packages
RUN apt-get update -qq --yes > /dev/null && \
Expand Down Expand Up @@ -123,30 +135,6 @@ RUN apt-get update -qq --yes > /dev/null && \

WORKDIR /home/jovyan

# Needed by RStudio
RUN apt-get update -qq --yes && \
apt-get install --yes --no-install-recommends -qq \
psmisc \
sudo \
libapparmor1 \
lsb-release \
libclang-dev \
libpq5 > /dev/null

ENV RSTUDIO_URL https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2021.09.1-372-amd64.deb
RUN curl --silent --location --fail ${RSTUDIO_URL} > /tmp/rstudio.deb && \
dpkg -i /tmp/rstudio.deb && \
rm /tmp/rstudio.deb

# Needed by many R libraries
# Picked up from https://github.com/rocker-org/rocker/blob/9dc3e458d4e92a8f41ccd75687cd7e316e657cc0/r-rspm/focal/Dockerfile
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libgdal26 \
libgeos-3.8.0 \
libproj15 \
libudunits2-0 \
libxml2 > /dev/null
# R_LIBS_USER is set by default in /etc/R/Renviron, which RStudio loads.
# We uncomment the default, and set what we wanna - so it picks up
# the packages we install. Without this, RStudio doesn't see the packages
Expand Down
4 changes: 2 additions & 2 deletions deployments/biology/image/Rprofile.site
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Use RStudio's CRAN mirror to get binary packages
# 'latest' just means it has all available versions.
# We can specify version numbers in devtools::install_version
options(repos = c(CRAN = "https://packagemanager.rstudio.com/all/__linux__/focal/latest"))
options(repos = c(CRAN = "https://packagemanager.rstudio.com/all/__linux__/jammy/latest"))

# RStudio's CRAN mirror needs this to figure out which binary package to serve.
# If not set properly, it will just serve up source packages
# Quite hilarious, IMO.
# See https://docs.rstudio.com/rspm/admin/binaries.html
options(HTTPUserAgent = sprintf("R/%s R (%s)", getRversion(), paste(getRversion(), R.version$platform, R.version$arch, R.version$os)))
options(HTTPUserAgent = sprintf("R/%s R (%s)", getRversion(), paste(getRversion(), R.version$platform, R.version$arch, R.version$os)))
2 changes: 1 addition & 1 deletion deployments/biology/image/rsession.conf
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Use binary packages!
r-cran-repos=https://packagemanager.rstudio.com/all/__linux__/focal/latest
r-cran-repos=https://packagemanager.rstudio.com/all/__linux__/jammy/latest
9 changes: 5 additions & 4 deletions deployments/datahub/images/default/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,17 @@ RUN install -d -o ${NB_USER} -g ${NB_USER} ${R_LIBS_USER}
# These packages must be installed into the base stage since they are in system
# paths rather than /srv.
# Pre-built R packages from rspm are built against system libs in jammy.
ENV R_VERSION=4.3.2-1.2204.0
ENV LITTLER_VERSION=0.3.18-2.2204.0
#ENV R_VERSION=4.3.2-1.2204.0
#ENV LITTLER_VERSION=0.3.18-2.2204.0
ENV R_VERSION=4.4.1-1.2204.0
ENV LITTLER_VERSION=0.3.19-1.2204.0
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
RUN echo "deb https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/" > /etc/apt/sources.list.d/cran.list
RUN curl --silent --location --fail https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc > /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
RUN apt-get update --yes > /dev/null && \
apt-get install --yes -qq r-base-core=${R_VERSION} r-base-dev=${R_VERSION} littler=${LITTLER_VERSION} > /dev/null

#ENV RSTUDIO_URL https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2023.06.0-421-amd64.deb
ENV RSTUDIO_URL https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2023.12.0-369-amd64.deb
ENV RSTUDIO_URL=https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2024.04.2-764-amd64.deb
RUN curl --silent --location --fail ${RSTUDIO_URL} > /tmp/rstudio.deb && \
apt install --no-install-recommends --yes /tmp/rstudio.deb && \
rm /tmp/rstudio.deb
Expand Down
3 changes: 1 addition & 2 deletions deployments/datahub/images/default/Rprofile.site
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ options(repos = c(CRAN = "https://packagemanager.rstudio.com/all/__linux__/jammy
# below sets it to be binary. This may improve image build times.
# If it works, it'd be better to dynamically set the R version as above, and
# also the RStudio Server version if possible.
options(HTTPUserAgent = "RStudio Server (2023.12.0.369); R (4.3.2 x86_64-pc-linux-gnu x86_64 linux-gnu)")

options(HTTPUserAgent = "RStudio Server (2024.04.2.764); R (4.4.1 x86_64-pc-linux-gnu x86_64 linux-gnu)")

## Source extra Rprofile files.
#
Expand Down
6 changes: 3 additions & 3 deletions deployments/dev/images/default/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ RUN apt-get -qq update --yes && \
# These packages must be installed into the base stage since they are in system
# paths rather than /srv.
# Pre-built R packages from rspm are built against system libs in jammy.
ENV R_VERSION=4.3.2-1.2204.0
ENV LITTLER_VERSION=0.3.18-2.2204.0
ENV R_VERSION=4.4.1-1.2204.0
ENV LITTLER_VERSION=0.3.19-1.2204.0
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
RUN echo "deb https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/" > /etc/apt/sources.list.d/cran.list
RUN curl --silent --location --fail https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc > /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
Expand All @@ -45,7 +45,7 @@ RUN apt-get update -qq --yes > /dev/null && \
r-base-dev=${R_VERSION} \
littler=${LITTLER_VERSION} > /dev/null

ENV RSTUDIO_URL https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2023.06.0-421-amd64.deb
ENV RSTUDIO_URL=https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2024.04.2-764-amd64.deb
RUN curl --silent --location --fail ${RSTUDIO_URL} > /tmp/rstudio.deb && \
apt install --no-install-recommends --yes /tmp/rstudio.deb && \
rm /tmp/rstudio.deb
Expand Down
2 changes: 1 addition & 1 deletion deployments/dev/images/default/Rprofile.site
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ options(
options(
HTTPUserAgent = sprintf(
"RStudio Server (%s); R (%s)",
"2022.7.1.554",
"2024.04.2.764",
paste(getRversion(), R.version$platform, R.version$arch, R.version$os)
)
)
2 changes: 1 addition & 1 deletion deployments/ischool/image/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rocker/geospatial:4.3.1
FROM rocker/geospatial:4.4.1

ENV NB_USER rstudio
ENV NB_UID 1000
Expand Down
2 changes: 1 addition & 1 deletion deployments/publichealth/image/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ghcr.io/rocker-org/geospatial:4.3.2
FROM ghcr.io/rocker-org/geospatial:4.4.1

ENV NB_USER rstudio
ENV NB_UID 1000
Expand Down
4 changes: 2 additions & 2 deletions deployments/shiny/image/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rocker/geospatial:4.3.2
FROM rocker/geospatial:4.4.1

ENV NB_USER rstudio
ENV NB_UID 1000
Expand Down Expand Up @@ -55,7 +55,7 @@ RUN apt-get update > /dev/null && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

ENV SHINY_SERVER_URL https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.21.1012-amd64.deb
ENV SHINY_SERVER_URL https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.22.1017-amd64.deb
RUN curl --silent --location --fail ${SHINY_SERVER_URL} > /tmp/shiny-server.deb && \
apt install --no-install-recommends --yes /tmp/shiny-server.deb && \
rm /tmp/shiny-server.deb
Expand Down
2 changes: 1 addition & 1 deletion deployments/stat20/image/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rocker/geospatial:4.3.2
FROM rocker/geospatial:4.4.1
# https://github.com/rocker-org/rocker-versioned2/wiki/geospatial_e06f866673fa

ENV NB_USER rstudio
Expand Down
Loading