11FROM rocker/r-ver:4.1.2
22MAINTAINER Marta Bica <mbica.compbio@gmail.com>
33
4- RUN apt-get update && apt-get -y upgrade && apt-get -y autoremove
5-
6- RUN apt-get install -y curl
7-
8- RUN apt-get install -y libcurl4-openssl-dev
4+ ENV RSPM=https://packagemanager.rstudio.com/cran/__linux__/focal/2022-05-20
95
10- RUN apt-get install -y libssl-dev
11-
12- RUN apt-get install -y libxml2-dev
13-
14- RUN apt-get install -y libgeos-dev
6+ RUN apt-get update && apt-get -y upgrade && apt-get -y autoremove
157
16- RUN apt-get install -y libglpk40 libglpk-dev
8+ RUN apt-get install -y curl \
9+ libcurl4-openssl-dev \
10+ libssl-dev \
11+ libxml2-dev \
12+ libgeos-dev \
13+ libglpk40 \
14+ libglpk-dev
1715
16+ # CRAN packages (consistent snapshot)
17+ RUN R -e 'install.packages(c( \
18+ "cowplot","data.table","dplyr","DT","ff","ggfun","ggplot2","ggplotify","ggpubr", \
19+ "ggrepel","ggridges","gridExtra","magrittr","Matrix","matrixStats","msigdbr", \
20+ "patchwork","plotly","reshape2","Seurat","shiny","shinycssloaders", \
21+ "shinydashboard","shinyjs","shinythemes","stringi","stringr","tidytree","gplots","remotes" \
22+ ), repos=Sys.getenv("RSPM"))'
1823
19- # Install R packages
20- RUN R -e 'install.packages("cowplot", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-04-20")'
21- RUN R -e 'install.packages("data.table", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
22- RUN R -e 'install.packages("dplyr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
23- RUN R -e 'install.packages("DT", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
24- RUN R -e 'install.packages("ff", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
25- RUN R -e 'install.packages("ggfun", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-10-27")'
26- RUN R -e 'install.packages("ggplot2", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-12-23")'
27- RUN R -e 'install.packages("ggplotify", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-10-20")'
28- RUN R -e 'install.packages("ggpubr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-09-19")'
29- RUN R -e 'install.packages("ggrepel", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-10-20")'
30- RUN R -e 'install.packages("ggridges", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-10-20")'
31- RUN R -e 'install.packages("gridExtra", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
32- RUN R -e 'install.packages("magrittr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-12-23")'
33- RUN R -e 'install.packages("Matrix", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-01-20")'
34- RUN R -e 'install.packages("matrixStats", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
35- RUN R -e 'install.packages("msigdbr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-12-07")'
36- RUN R -e 'install.packages("patchwork", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-10-20")'
37- RUN R -e 'install.packages("plotly", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-04-20")'
38- RUN R -e 'install.packages("reshape2", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
39- RUN R -e 'install.packages("Seurat", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2022-05-20")'
40- RUN R -e 'install.packages("shiny", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2021-04-23")'
41- RUN R -e 'install.packages("shinycssloaders", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2021-04-23")'
42- RUN R -e 'install.packages("shinydashboard", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2021-04-23")'
43- RUN R -e 'install.packages("shinyjs", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2021-04-23")'
44- RUN R -e 'install.packages("shinythemes", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
45- RUN R -e 'install.packages("stringi", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
46- RUN R -e 'install.packages("stringr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2023-04-20")'
47- RUN R -e 'install.packages("tidytree", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-04-20")'
24+ # Bioconductor (locked to R 4.1)
25+ RUN R -e 'install.packages("BiocManager", repos=Sys.getenv("RSPM"))'
26+ RUN R -e 'BiocManager::install(version="3.14", ask=FALSE)'
4827
49- RUN R -e 'install.packages("BiocManager")'
50- RUN R -e 'BiocManager::install("scuttle")'
51- RUN R -e 'BiocManager::install("BiocSingular")'
52- RUN R -e 'BiocManager::install("fgsea")'
28+ RUN R -e 'BiocManager::install(c("ggtree","scuttle","BiocSingular","fgsea"), ask=FALSE)'
5329
54- RUN R -e 'install.packages("devtools")'
55- RUN R -e 'remotes::install_github("YuLab-SMU/ggtree")'
56- RUN R -e 'devtools::install_github("XiaoLuo-boy/ggheatmap")'
57- RUN R -e 'install.packages("gplots", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2024-10-20")'
30+ # GitHub package without pulling incompatible deps
31+ RUN R -e 'remotes::install_github("XiaoLuo-boy/ggheatmap", dependencies=FALSE)'
5832
5933# Set the working directory
6034WORKDIR /home/app
@@ -65,5 +39,5 @@ COPY . /home/app
6539# Expose the port
6640EXPOSE 3838
6741
68- # Command to run the Shiny app
42+ # Run app
6943CMD ["R" , "-e" , "shiny::runApp('/home/app', host='0.0.0.0', port=3838)" ]
0 commit comments