aephidayatuloh commited on
Commit
807065b
1 Parent(s): 63b17a0

add dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +34 -0
Dockerfile ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Generated by the vetiver package; edit with care
2
+
3
+ FROM rocker/r-ver:4.4.0
4
+
5
+ # create a non-root user to run the app
6
+ RUN useradd --create-home appuser
7
+
8
+ ENV RENV_CONFIG_REPOS_OVERRIDE https://packagemanager.rstudio.com/cran/latest
9
+ ENV HOME=/home/appuser
10
+ WORKDIR $HOME
11
+
12
+ RUN apt-get update -qq && apt-get install -y --no-install-recommends \
13
+ default-jdk \
14
+ libcurl4-openssl-dev \
15
+ libicu-dev \
16
+ libsodium-dev \
17
+ libssl-dev \
18
+ make \
19
+ zlib1g-dev \
20
+ && apt-get clean
21
+
22
+ COPY vetiver_renv.lock renv.lock
23
+ # Create the .cache directory and give appuser permission to write to it
24
+ RUN mkdir -p /home/appuser/.cache && chown -R appuser:appuser /home/appuser/.cache
25
+ # Create the .cache/pins/url directory and give appuser permission to write to it
26
+ RUN mkdir -p /home/appuser/.cache/pins/url && chown -R appuser:appuser /home/appuser/.cache/pins/url
27
+
28
+ COPY model/ /opt/ml/model/
29
+
30
+ RUN Rscript -e "install.packages('renv')"
31
+ RUN Rscript -e "renv::restore()"
32
+ COPY plumber.R /opt/ml/plumber.R
33
+ EXPOSE 7860
34
+ ENTRYPOINT ["R", "-e", "pr <- plumber::plumb('/opt/ml/plumber.R'); pr$run(host = '0.0.0.0', port = 7860)"]