-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
126 lines (116 loc) · 2.7 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
121
122
123
124
125
126
# docker manifest inspect ubuntu:24.04 -v | jq '.[0].Descriptor.digest'
FROM ubuntu:24.04@sha256:6e75a10070b0fcb0bead763c5118a369bc7cc30dfc1b0749c491bbb21f15c3c7
ENV R_VERSION=4.4.2
ENV TERM=xterm
ENV CRAN=https://packagemanager.posit.co/cran/__linux__/noble/latest
ENV TZ=Etc/UTC
ENV OPENBLAS_NUM_THREADS=1
ENV OMP_THREAD_LIMIT=1
ENV HOME=/home/user
ENV LANG=en_US.UTF-8
ENV R_HOME=/usr/local/lib/R
ENV LC_ALL=en_US.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
COPY install_R.sh install_R.sh
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
COPY permissions.sh /usr/local/bin/permissions.sh
COPY init.R /home/user/init.R
COPY robots.txt /home/user/robots.txt
COPY .Rprofile /home/user/.Rprofile
COPY rclone.conf /home/user/.config/rclone/rclone.conf
RUN echo \
"ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula" \
"select true" | debconf-set-selections \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
bash-completion \
ca-certificates \
cmake \
curl \
devscripts \
file \
fonts-texgyre \
g++ \
gfortran \
gpg-agent \
gsfonts \
libblas-dev \
libbz2-* \
libcurl4 \
libcurl4-openssl-dev \
libicu* \
libjq-dev \
libjpeg-turbo* \
liblzma* \
libopenblas-dev \
libpangocairo-* \
libpcre2* \
libpng16* \
libpq-dev \
libreadline8 \
libsodium-dev \
libssl-dev \
libtiff* \
libudunits2-dev \
libz-dev \
locales \
lsb-release \
make \
nano \
pandoc \
pkg-config \
rclone \
rsync \
ttf-mscorefonts-installer \
tzdata \
unzip \
zip \
zlib1g \
zlib1g-dev \
&& fc-cache -f \
&& apt-get autoremove --purge -y \
&& apt-get autoclean -y \
&& rm -rf /var/lib/apt/lists/*
RUN /install_R.sh
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
gdal-bin \
libfribidi-dev \
libgdal-dev \
libgeos-dev \
libglpk-dev \
libharfbuzz-dev \
libmagick++-dev \
libproj-dev \
libxml2-dev \
&& apt-get autoremove --purge -y \
&& apt-get autoclean -y \
&& rm -rf /var/lib/apt/lists/*
RUN R -s -e " \
options(warn = 2); \
utils::install.packages( \
c( \
'callr', \
'covr', \
'DT', \
'emayili', \
'logger', \
'plumber', \
'rapidoc', \
'tictoc', \
'igraph', \
'magick', \
'ragg', \
'renv', \
'sf' \
) \
)"
RUN mkdir -p \
/home/user/coverage \
/home/user/data \
/home/user/logs \
/home/user/tmp \
/home/user/var
WORKDIR /home/user
ENTRYPOINT ["entrypoint.sh"]
CMD ["Rscript", "--vanilla", "init.R"]