sugitora commited on
Commit
3db11f8
·
verified ·
1 Parent(s): 058b28d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +22 -32
Dockerfile CHANGED
@@ -1,42 +1,32 @@
1
- # Hugging Face Spaces用 R Shiny Dockerfile
2
- FROM rocker/shiny:4.3.2
3
 
4
- # 必要なシステムライブラリをインストール(leaflet依存含む)
5
- RUN apt-get update && apt-get install -y \
 
 
6
  libcurl4-openssl-dev \
7
  libssl-dev \
8
  libxml2-dev \
9
- libgdal-dev \
10
- libgeos-dev \
11
- libproj-dev \
12
- libudunits2-dev \
13
- libv8-dev \
14
- libjq-dev \
15
- libprotobuf-dev \
16
- protobuf-compiler \
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
- # 必要なRパッケージインストール(依存関係を含て明示的に)
20
- RUN R -e "install.packages(c('shiny', 'dplyr', 'leaflet', 'htmltools', 'htmlwidgets', 'crosstalk'), repos='https://cran.rstudio.com/', dependencies=TRUE)"
21
-
22
- # パッケージがインストールされたか確認
23
- RUN R -e "library(shiny); library(dplyr); library(leaflet); cat('All packages loaded successfully\n')"
24
 
25
- # アプリディレクトリを作成
26
- RUN mkdir -p /app
27
- WORKDIR /app
 
 
 
 
 
 
28
 
29
- # アプリファイルをコピー
30
- COPY app.R /app/
31
- COPY contract_list.csv /app/
32
- COPY guard_master.csv /app/
33
- COPY availability.csv /app/
34
 
35
- # Hugging Face Spacesはポート7860を使用
36
  EXPOSE 7860
37
-
38
- # shinyユーザーで実行(rocker/shinyに既存)
39
- USER shiny
40
-
41
- # アプリを起動
42
- CMD ["R", "-e", "shiny::runApp('/app', host='0.0.0.0', port=7860)"]
 
1
+ # latest をやめて固定(例:4.4.2。手元のRに合わせて変えてよい)
2
+ FROM rocker/r-ver:4.4.2
3
 
4
+ WORKDIR /code
5
+
6
+ # 依存ライブラリ(leaflet/htmlwidgets周辺や curl/ssl/xml2 系でよく必要)
7
+ RUN apt-get update && apt-get install -y --no-install-recommends \
8
  libcurl4-openssl-dev \
9
  libssl-dev \
10
  libxml2-dev \
11
+ libgit2-dev \
 
 
 
 
 
 
 
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
+ # install2.r 使うために littler を入れる(r-ver では入っていないことがある
15
+ RUN R -q -e "install.packages('littler', repos='https://cloud.r-project.org')" \
16
+ && ln -s /usr/local/lib/R/site-library/littler/examples/install2.r /usr/local/bin/install2.r \
17
+ && chmod +x /usr/local/bin/install2.r
 
18
 
19
+ # Rパッケージ
20
+ RUN install2.r --error \
21
+ shiny \
22
+ dplyr \
23
+ ggplot2 \
24
+ readr \
25
+ ggExtra \
26
+ lubridate \
27
+ leaflet
28
 
29
+ COPY . .
 
 
 
 
30
 
 
31
  EXPOSE 7860
32
+ CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=7860)"]