-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
120 lines (98 loc) · 2.43 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update --yes \
&& apt-get install --yes --no-install-recommends \
wget \
locales \
tar \
gpg
# R Package dependencies
RUN apt-get install --yes --no-install-recommends \
git \
libgmp3-dev \
default-jdk \
make \
libcurl4-openssl-dev \
libicu-dev \
libssl-dev \
libpng-dev \
libjpeg-dev \
libxml2-dev \
libglpk-dev \
zlib1g-dev \
libcairo2-dev \
sudo \
pandoc
ENV TZ UTC
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
RUN export _RIG_VERSION=0.5.2 \
&& wget https://github.com/r-lib/rig/releases/download/v${_RIG_VERSION}/rig-linux-${_RIG_VERSION}.tar.gz \
&& mkdir -p /data \
&& tar -C /data/ -xf rig-linux-${_RIG_VERSION}.tar.gz \
&& ln -sf /data/bin/rig /usr/local/bin/rig \
&& rm -rf /rig-linux-${_RIG_VERSION}.tar.gz
RUN rig add 4.2.2
RUN addgroup --system app \
&& adduser --disabled-password \
--gecos "" \
--system \
--ingroup app \
app \
&& adduser app sudo
# Requirement for 'pak' to install system dependencies
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
RUN chown app:app -R /home/app
USER app
ENV TZ UTC
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
WORKDIR /home/app/pdxplorer
RUN R -q -s -e \
'options(repos="https://packagemanager.rstudio.com/all/__linux__/jammy/latest"); \
install.packages("pak");'
RUN R -q -s -e \
'options(repos="https://packagemanager.rstudio.com/all/__linux__/jammy/latest"); \
pak::pkg_install(pkg=c( \
"shiny", \
"shinydashboard", \
"shinyjs", \
"shinythemes", \
"shinymanager", \
"bslib", \
"rhino", \
"cachem", \
"data.table", \
"reshape2", \
"fs", \
"dplyr", \
"tidyr", \
"readr", \
"ggdendro", \
"ggplot2", \
"grid", \
"gridExtra", \
"DT", \
"scales", \
"pheatmap", \
"RColorBrewer", \
"bioc::maftools", \
"bioc::limma", \
"bioc::DESeq2", \
"bioc::scran", \
"bioc::EnhancedVolcano", \
"bioc::chimeraviz", \
"github::statistikat/codeModules", \
"github::marchionniLab/ABCutilities" \
),upgrade=TRUE,ask=FALSE);'
USER root
RUN rm -rf /tmp/downloaded_packages/ \
&& rm -rf /tmp/*.rds \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /data
USER app
COPY --chown=app:app app /home/app/pdxplorer/app
COPY --chown=app:app data /home/app/pdxplorer/data
EXPOSE 80
WORKDIR /home/app/pdxplorer
CMD ["R", "-q", "-s", "-e", "shiny::runApp(appDir='/home/app/pdxplorer/app',host='0.0.0.0',port=80,launch.browser=FALSE)"]