Docker/Singularity Containers


Authors: Brian Schilder, Alan Murphy, Nathan Skene


Vignette updated: Jan-23-2025

Installation

rworkflows is now available via ghcr.io as a containerised environment with Rstudio and all necessary dependencies pre-installed.

Method 1: via Docker

First, install Docker if you have not already.

Create an image of the Docker container in command line:

docker pull ghcr.io/neurogenomics/rworkflows

Once the image has been created, you can launch it with:

docker run \
  -d \
  -e ROOT=true \
  -e PASSWORD="<your_password>" \
  -v ~/Desktop:/Desktop \
  -v /Volumes:/Volumes \
  -p 8900:8787 \
  ghcr.io/neurogenomics/rworkflows

NOTES

  • Make sure to replace <your_password> above with whatever you want your password to be.
  • Change the paths supplied to the -v flags for your particular use case.
  • The -d ensures the container will run in “detached” mode, which means it will persist even after you’ve closed your command line session.
  • The username will be “rstudio” by default.
  • Optionally, you can also install the Docker Desktop to easily manage your containers.

Method 2: via Singularity

If you are using a system that does not allow Docker (as is the case for many institutional computing clusters), you can instead install Docker images via Singularity.

singularity pull docker://ghcr.io/neurogenomics/rworkflows

For troubleshooting, see the Singularity documentation.

Usage

Finally, launch the containerised Rstudio by entering the following URL in any web browser: http://localhost:8900/

Login using the credentials set during the Installation steps.

Session Info

utils::sessionInfo()
## R version 4.4.2 (2024-10-31)
## Platform: aarch64-apple-darwin20
## Running under: macOS Sequoia 15.2
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
## 
## locale:
## [1] C/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: America/New_York
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] data.table_1.16.4 rworkflows_1.0.6 
## 
## loaded via a namespace (and not attached):
##  [1] gtable_0.3.6        jsonlite_1.8.9      renv_1.0.11        
##  [4] dplyr_1.1.4         compiler_4.4.2      BiocManager_1.30.25
##  [7] tidyselect_1.2.1    jquerylib_0.1.4     rvcheck_0.2.1      
## [10] scales_1.3.0        yaml_2.3.10         fastmap_1.2.0      
## [13] here_1.0.1          ggplot2_3.5.1       R6_2.5.1           
## [16] generics_0.1.3      knitr_1.49          yulab.utils_0.1.9  
## [19] tibble_3.2.1        desc_1.4.3          dlstats_0.1.7      
## [22] rprojroot_2.0.4     munsell_0.5.1       bslib_0.8.0        
## [25] pillar_1.10.1       RColorBrewer_1.1-3  rlang_1.1.4        
## [28] cachem_1.1.0        badger_0.2.4        xfun_0.50          
## [31] fs_1.6.5            sass_0.4.9          cli_3.6.3          
## [34] magrittr_2.0.3      digest_0.6.37       grid_4.4.2         
## [37] rstudioapi_0.17.1   lifecycle_1.0.4     vctrs_0.6.5        
## [40] evaluate_1.0.3      glue_1.8.0          colorspace_2.1-1   
## [43] rmarkdown_2.29      tools_4.4.2         pkgconfig_2.0.3    
## [46] htmltools_0.5.8.1