FluMapModel/Dockerfile.RBuildEnv

58 строки
2.4 KiB
Docker

FROM rocker/rstudio:3.5.3
LABEL description="Environment to Package the Seattle Flu Models for Automated Builds"
LABEL authors="ccollins@idmod.org"
# Disable interactive questions like Timezone selection
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN=true
# install packages required and then cleanup
RUN apt-get update && apt-get install -y \
# required by devtools and ggmap
libssl-dev libcurl4-gnutls-dev \
# required by sf
libudunits2-dev libgdal-dev \
# required by INLA or a dependency of INLA
libxml2-dev libx11-dev texlive-binaries libglu1-mesa-dev libfreetype6-dev \
# required by geojsonio or a dependency of geojsonio
libgdal-dev libgeos-c1v5 libproj-dev libv8-dev libjq-dev libprotobuf-dev protobuf-compiler \
# Git for development tools
git-core git libgit2-dev && \
# cleanup apt cache to reduce final image size
rm -rf /var/lib/apt/lists/*
# Set default make to parallel build
ENV MAKE="make -j8"
RUN Rscript -e "install.packages(c('magrittr', 'knitr', 'sp'))"
RUN Rscript -e "install.packages(c('tidyr','lubridate'))"
RUN Rscript -e "install.packages(c('dplyr'))"
RUN Rscript -e "install.packages(c('rmarkdown'))"
RUN Rscript -e "install.packages(c('ggplot2'))"
RUN Rscript -e "install.packages(c('ggmap'))"
RUN Rscript -e "install.packages(c('viridis'))"
RUN Rscript -e "install.packages(c('sf'))"
RUN Rscript -e "install.packages(c('jsonlite'))"
RUN Rscript -e "install.packages(c('devtools'))"
RUN Rscript -e "install.packages(c('roxygen2','RCurl'))"
RUN Rscript -e "install.packages(c('DBI','RPostgres'))"
RUN Rscript -e "install.packages(c('rgdal'), type='source')"
RUN Rscript -e "install.packages(c('rgeos'), type='source')"
RUN Rscript -e "install.packages(c('geojsonio'))"
RUN Rscript -e "install.packages(c('logging'))"
RUN Rscript -e "install.packages('INLA', repos=c(getOption('repos'), INLA='https://inla.r-inla-download.org/R/stable'), dep=TRUE)"
RUN Rscript -e "install.packages(c('tidycensus'))"
RUN Rscript -e "devtools::install_github('timcdlucas/INLAutils')"
# Our Organization(as others do) map Active Directory to LDAP for linux
# These means when mapping in our userids
# docker -e USERID=$UID....
# which remaps the rstudio UID,
# the user ids can be large. To suppor that we need to update login.defs
RUN perl -pi -e 's/UID_MAX\s+60000/UID_MAX 9304017490/g' /etc/login.defs
RUN perl -pi -e 's|GID_MAX\s+60000|GID_MAX 9304017490|g' /etc/login.defs