-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
67 lines (57 loc) · 1.68 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# JoesFlow Docker file
# https://github.com/IDSS-NIAID/JoesFlow
# start with shiny server and R
FROM rocker/shiny:4.2.1
# install system dependencies
RUN apt-get update && apt-get install -y \
libcurl4-gnutls-dev \
libssl-dev \
libxml2-dev \
libfontconfig1-dev \
libcairo2-dev \
libmagick++-dev \
libharfbuzz-dev \
libfribidi-dev
# freeze dependencies
RUN echo "options(repos = c(CRAN = 'https://packagemanager.rstudio.com/cran/2023-03-22+lA45wiyN'))" >> /usr/local/lib/R/etc/Rprofile.site
# install R packge dependencies
RUN R -e 'install.packages(\
c("BiocManager",\
"devtools",\
"magick",\
"RSpectra",\
"shinythemes")\
)'
RUN R -e 'BiocManager::install("ComplexHeatmap", update=FALSE)'
# shouldn't *need* these, but it helps to cache the installs, rather than need to install them every time we use `devtools::install` below
RUN R -e 'install.packages(\
c("patchwork",\
"hexbin",\
"circlize",\
"cowplot",\
"DT",\
"fastcluster",\
"ggrepel",\
"ggsci",\
"gridExtra",\
"RColorBrewer",\
"reshape2",\
"Rtsne",\
"stringi",\
"tidyr",\
"uwot")\
)'
# copy R package to image
RUN mkdir JoesFlow JoesFlow/man JoesFlow/R JoesFlow/inst JoesFlow/inst/extdata JoesFlow/tests JoesFlow/tests/testthat
COPY DESCRIPTION LICENSE NAMESPACE JoesFlow/.
COPY R/* JoesFlow/R/.
COPY man/* JoesFlow/man/.
COPY inst/extdata/* JoesFlow/inst/extdata/.
COPY tests/testthat.R JoesFlow/tests/.
COPY tests/testthat/* JoesFlow/tests/testthat/.
# install JoesFlow
RUN mkdir /srv/shiny-server/JoesFlow
COPY shiny/* /srv/shiny-server/JoesFlow/.
RUN R -e 'devtools::install("JoesFlow", dependencies = FALSE)'
# run app
CMD ["/usr/bin/shiny-server"]