Coder Social home page Coder Social logo

rocker-versioned2's Introduction

license Project Status: Active โ€“ The project has reached a stable, usable state and is being actively developed. Build & Push Core images Build & Push R devel images and RStudio daily build images

Visit rocker-project.org for more about available Rocker images, configuration, and use.

Version-stable Rocker images for R >= 4.0.0

For R versions >= 4.0.0, we have implemented a new build system and image architecture under this repository.

For images with R <= 3.6.3, please see the rocker-versioned repository, or the shiny, geospatial, and binder repositories for those images, now all consolidated here for R >= 4.0.0.

Instructions for image usage largely follows documentation in the above repositories, except where noted below.

image description pull
r-ver Version-stable base R & src build tools
rstudio Adds rstudio server
tidyverse Adds tidyverse & devtools
verse Adds tex & publishing-related packages
geospatial Adds geospatial packages on top of 'verse'
shiny Adds shiny server on top of 'r-ver'
shiny-verse Adds tidyverse packages on top of 'shiny'
binder Adds requirements to 'geospatial' to run repositories on mybinder.org
cuda Adds cuda and Python to 'r-ver' (a.k.a rocker/r-ver:X.Y.Z-cuda10.1)
ml Adds rstudio server, tiyverse, devtools to 'cuda'
ml-verse Adds tex & publishing-related packages & geospatial packages to 'ml'

For more information on public container images, please see the Wiki of this repository.

Notes on new architecture for R >= 4.0.0

  • Images are now based on Ubuntu LTS releases rather than Debian and system libraries are tied to the Ubuntu version. Images will use the most recent LTS available at the time when the corresponding R version was released. Thus all 4.0.0 images are based on Ubuntu 20.04.
  • We use the RStudio Package Manager (RSPM) as our default CRAN mirror. RSPM serves compiled Linux binaries of R packages and greatly speeds up package installs.
  • Several images, r-ver, and new experimental ml and ml-verse are now available with CUDA drivers and libraries installed and preconfigured for use on machines with NVIDIA GPUs. These are available under tags 4.X.X-cudaX.X.
  • We no longer support ADD= runtime triggers for installing Shiny or similar modules. See below for how to extend images to include custom extensions.
  • Shiny images, like RStudio images, now manage processes via the S6 supervisor system allowing containers to manage multiple background processes gracefully.

Modifying and extending images in the new architecture

In our new build system, pre-built images are defined with JSON files under the stacks/ folder in this repository. Each file defines a series of related images. The .R files in the build/ folder use these to create the actual Dockerfiles under the dockerfiles/ folder and images are built by the GitHub Actions workflow. These Dockerfiles serve as examples of how to build your own custom images.

Importantly, we have moved as much of the detailed install logic out of Dockerfiles and into standalone scripts, or "modules", under the scripts directory. These files are available in all Docker images, under a top-level /rocker_scripts directory. This allows users to extend images by selecting additional modules to install on top of any pre-built images. For instance, if one wishes to install Shiny Server on top of a base of rstudio:4.0.0, one could write a simple Dockerfile as follows:

FROM rstudio/rstudio:4.0.0

RUN /rocker_scripts/install_shiny_server.sh

Install scripts can generally take a version as a first argument or ingest an environment variable to specify the version to install. So to install fixed versions, one can use either of the following syntaxes:

ENV SHINY_SERVER_VERSION 1.5.14.948
RUN /rocker_scripts/install_shiny_server.sh
RUN /rocker_scripts/install_shiny_server.sh 1.5.14.948

In general scripts default to "latest" or the most recent version.

rocker-versioned2's People

Contributors

cboettig avatar eitsupi avatar damacus avatar pit-storm avatar artemklevtsov avatar chrismazanec avatar manselmi avatar myoung3 avatar milesmcbain avatar noamross avatar robinlovelace avatar rlesur avatar github-actions[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.