-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
38 lines (29 loc) · 2.17 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
FROM rocker/shiny-verse:4.3.0
EXPOSE 3838
RUN Rscript -e 'install.packages("remotes")' && \
Rscript -e 'remotes::install_version("shinyBS", upgrade="never", version="0.61.1")' && \
Rscript -e 'remotes::install_version("shinyjs", upgrade="never", version="2.1.0")' && \
Rscript -e 'remotes::install_version("DT", upgrade="never", version="0.28")' && \
Rscript -e 'remotes::install_version("rhandsontable", upgrade="never", version="0.3.8")' && \
Rscript -e 'remotes::install_version("tinytex", upgrade="never", version="0.45")' && \
Rscript -e 'remotes::install_version("knitr", upgrade="never", version="1.43")' && \
Rscript -e 'remotes::install_version("kableExtra", upgrade="never", version="1.3.4")' && \
Rscript -e 'remotes::install_version("logging", upgrade="never", version="0.10.108")' && \
Rscript -e 'remotes::install_version("rlang", upgrade="never", version="1.1.1")' && \
Rscript -e 'remotes::install_version("fastmap", upgrade="never", version="1.1.1")'
COPY ./deps_source /deps_source
RUN apt update -y && apt install libmariadb-dev -y
RUN Rscript -e 'install.packages("/deps_source/RMariaDB-1.2.2.tar.gz", type="source", repos=NULL)'
# shiny-verse includes the tidyverse which includes tibble,
# Rscript -e 'remotes::install_version("tibble", upgrade="never", version="3.2.1")' && \
# Rscript -e 'remotes::install_version("dplyr", upgrade="never", version="1.1.2")' && \
# Rscript -e 'remotes::install_version("stringr", upgrade="never", version="1.5.0")' && \
RUN Rscript -e 'print(3)' && \
Rscript -e 'tinytex::install_tinytex()' && \
Rscript -e 'tinytex::tlmgr_install(c("booktabs", "multirow", "wrapfig", "float", "colortbl", "pdflscape", "tabu", "threeparttable", "threeparttablex", "ulem", "makecell", "xcolor", "trimspaces", "environ", "adjustbox", "fancyhdr", "datetime2"))'
# If the file exists, copy it into the container. If the timestamp in it has been updated by the builder/user, recompile cgi-nrm/esbaser
COPY ./.esbaser_cache_break_timestam[p] /.esbaser_cache_break_timestamp
RUN Rscript -e 'remotes::install_github("cgi-nrm/esbaser")'
COPY ./R /
COPY ./www /www
CMD R -e 'shiny::runApp("/app.R", port = 3838, host = "0.0.0.0")'