forked from sunny-day-flooding-project/SunnyD-Flooding
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
49 lines (40 loc) · 1.23 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
FROM rocker/shiny:4.1.0
# system libraries of general use
## install debian packages
RUN apt-get update -qq && apt-get -y --no-install-recommends install \
libxml2-dev \
libglpk-dev \
libjq-dev \
libv8-dev \
libprotobuf-dev \
protobuf-compiler \
libcairo2-dev \
libsqlite3-dev \
libpq-dev \
libssh2-1-dev \
unixodbc-dev \
libcurl4-openssl-dev \
libssl-dev \
libudunits2-dev \
libgdal-dev \
odbc-postgresql \
libmagick++-dev
## update system libraries
RUN apt-get update && \
apt-get upgrade -y && \
apt-get clean
# install packages
RUN install2.r dplyr lubridate bs4Dash colourvalues waiter sf leaflet DT htmltools RColorBrewer highcharter xts shinyalert RPostgres DBI pool dbplyr magick stringr shinydisconnect tippy httr shinyWidgets shinyjs foreach xml2 tidyverse
# expose ports
EXPOSE 3838
EXPOSE 5432
# create new user so it doesn't run as root
RUN groupadd -r shinyapp && useradd --no-log-init -r -g shinyapp shinyapp
# copy necessary files
ADD shinyapp /home/shinyapp/app
# change working directory
WORKDIR /home/shinyapp
# change to new 'shinyapp' user
USER shinyapp
# run app on container start
CMD ["R", "-e", "shiny::runApp('app', host = '0.0.0.0', port = 3838)"]