|
1 | 1 | FROM rocker/r-ver:4.5.2 |
2 | | -MAINTAINER Marta Bica <mbica.compbio@gmail.com> |
3 | | - |
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 |
9 | | - |
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 |
15 | 2 |
|
16 | | -RUN apt-get install -y libglpk40 libglpk-dev |
17 | | - |
18 | | - RUN apt-get install -y libicu-dev |
19 | | - |
20 | | -RUN R -e "install.packages('curl', type='source')" |
21 | | - |
22 | | -# Install R packages |
23 | | -RUN R -e 'install.packages("cowplot", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-29")' |
24 | | -RUN R -e 'install.packages("data.table", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
25 | | -RUN R -e 'install.packages("dplyr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
26 | | -RUN R -e 'install.packages("DT", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
27 | | -RUN R -e 'install.packages("ff", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
28 | | -RUN R -e 'install.packages("ggfun", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
29 | | -RUN R -e 'install.packages("ggplot2", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
30 | | -RUN R -e 'install.packages("ggplotify", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
31 | | -RUN R -e 'install.packages("ggpubr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
32 | | -RUN R -e 'install.packages("ggrepel", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
33 | | -RUN R -e 'install.packages("ggridges", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
34 | | -RUN R -e 'install.packages("gridExtra", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
35 | | -RUN R -e 'install.packages("magrittr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
36 | | -RUN R -e 'install.packages("Matrix", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
37 | | -RUN R -e 'install.packages("matrixStats", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
38 | | -RUN R -e 'install.packages("msigdbr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
39 | | -RUN R -e 'install.packages("patchwork", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
40 | | -RUN R -e 'install.packages("plotly", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
41 | | -RUN R -e 'install.packages("reshape2", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
42 | | -RUN R -e 'install.packages("Seurat", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
43 | | -RUN R -e 'install.packages("shiny", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
44 | | -RUN R -e 'install.packages("shinycssloaders", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
45 | | -RUN R -e 'install.packages("shinydashboard", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
46 | | -RUN R -e 'install.packages("shinyjs", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
47 | | -RUN R -e 'install.packages("shinythemes", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
48 | | -RUN R -e 'install.packages("stringr", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
49 | | -RUN R -e 'install.packages("tidytree", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
50 | | - |
51 | | -RUN R -e 'install.packages("BiocManager")' |
52 | | -RUN R -e 'BiocManager::install("scuttle")' |
53 | | -RUN R -e 'BiocManager::install("BiocSingular")' |
54 | | -RUN R -e 'BiocManager::install("fgsea")' |
55 | | -RUN R -e 'BiocManager::install("markeR")' |
56 | | - |
57 | | -RUN R -e 'install.packages("devtools")' |
58 | | -RUN R -e 'remotes::install_github("YuLab-SMU/ggtree")' |
59 | | -RUN R -e 'devtools::install_github("XiaoLuo-boy/ggheatmap")' |
60 | | -RUN R -e 'install.packages("gplots", repos="https://packagemanager.rstudio.com/cran/__linux__/focal/2026-01-24")' |
| 3 | +MAINTAINER Marta Bica <mbica.compbio@gmail.com> |
61 | 4 |
|
62 | | -# Set the working directory |
| 5 | +# System dependencies |
| 6 | +RUN apt-get update && apt-get install -y \ |
| 7 | + curl \ |
| 8 | + libcurl4-openssl-dev \ |
| 9 | + libssl-dev \ |
| 10 | + libxml2-dev \ |
| 11 | + libgeos-dev \ |
| 12 | + libglpk40 \ |
| 13 | + libglpk-dev \ |
| 14 | + libicu-dev \ |
| 15 | + && apt-get clean \ |
| 16 | + && rm -rf /var/lib/apt/lists/* |
| 17 | + |
| 18 | +# Force R to build from source (avoids binary mismatch issues) |
| 19 | +RUN R -e "options(pkgType='source')" |
| 20 | + |
| 21 | +# CRAN packages |
| 22 | +RUN R -e "install.packages(c( |
| 23 | + 'cowplot','data.table','dplyr','DT','ff','ggfun','ggplot2','ggplotify', |
| 24 | + 'ggpubr','ggrepel','ggridges','gridExtra','magrittr','Matrix', |
| 25 | + 'matrixStats','msigdbr','patchwork','plotly','reshape2','Seurat', |
| 26 | + 'shiny','shinycssloaders','shinydashboard','shinyjs','shinythemes', |
| 27 | + 'stringr','tidytree','gplots' |
| 28 | +))" |
| 29 | + |
| 30 | +# Bioconductor packages |
| 31 | +RUN R -e "install.packages('BiocManager')" |
| 32 | +RUN R -e "BiocManager::install(c('scuttle','BiocSingular','fgsea','markeR'))" |
| 33 | + |
| 34 | +# GitHub packages |
| 35 | +RUN R -e "install.packages('devtools')" |
| 36 | +RUN R -e "remotes::install_github('YuLab-SMU/ggtree')" |
| 37 | +RUN R -e "devtools::install_github('XiaoLuo-boy/ggheatmap')" |
| 38 | + |
| 39 | +# App setup |
63 | 40 | WORKDIR /home/app |
64 | | - |
65 | | -# Copy the app directory into the image |
66 | 41 | COPY . /home/app |
67 | 42 |
|
68 | | -# Expose the port |
69 | 43 | EXPOSE 3838 |
70 | 44 |
|
71 | | -# Command to run the Shiny app |
72 | 45 | CMD ["R", "-e", "shiny::runApp('/home/app', host='0.0.0.0', port=3838)"] |
0 commit comments