igroffman commited on
Commit
0a8d77c
·
verified ·
1 Parent(s): f9d51b3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +53 -8
Dockerfile CHANGED
@@ -2,13 +2,58 @@ FROM rocker/r-base:latest
2
 
3
  WORKDIR /code
4
 
5
- RUN install2.r --error \
6
- shiny \
7
- dplyr \
8
- ggplot2 \
9
- readr \
10
- ggExtra
11
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  COPY . .
13
 
14
- CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=7860)"]
 
 
 
 
 
2
 
3
  WORKDIR /code
4
 
5
+ # ----------------------------
6
+ # System dependencies
7
+ # - curl/ssl/xml: for httr + general installs
8
+ # - fonts/rendering: for gt / text rendering
9
+ # - image libs: for png/jpeg support
10
+ # - build tooling: needed to compile some R packages
11
+ # - Arrow deps: needed for the arrow R package (read_parquet)
12
+ # ----------------------------
13
+ RUN apt-get update && apt-get install -y --no-install-recommends \
14
+ ca-certificates \
15
+ curl \
16
+ wget \
17
+ git \
18
+ make \
19
+ g++ \
20
+ pkg-config \
21
+ cmake \
22
+ libcurl4-openssl-dev \
23
+ libssl-dev \
24
+ libxml2-dev \
25
+ libfontconfig1-dev \
26
+ libfreetype6-dev \
27
+ libpng-dev \
28
+ libjpeg-dev \
29
+ libtiff5-dev \
30
+ libharfbuzz-dev \
31
+ libfribidi-dev \
32
+ zlib1g-dev \
33
+ libbz2-dev \
34
+ liblz4-dev \
35
+ libzstd-dev \
36
+ libsnappy-dev \
37
+ && rm -rf /var/lib/apt/lists/*
38
+
39
+ # ----------------------------
40
+ # R package installs
41
+ # Use CRAN; set Ncpus for speed
42
+ # ----------------------------
43
+ RUN R -e "options(repos=c(CRAN='https://cloud.r-project.org')); \
44
+ install.packages(c( \
45
+ 'shiny','shinydashboard','shinyWidgets', \
46
+ 'dplyr','tidyr','purrr', \
47
+ 'ggplot2','ggExtra','scales', \
48
+ 'gt','png', \
49
+ 'readr','httr','arrow' \
50
+ ), Ncpus=parallel::detectCores());"
51
+
52
+ # Copy app
53
  COPY . .
54
 
55
+ # Expose HF default port (optional but nice)
56
+ EXPOSE 7860
57
+
58
+ # Run app
59
+ CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=7860)"]