Files
hurricane_normalization_app/Dockerfile
T

78 lines
1.9 KiB
Docker

FROM rocker/shiny:4.5.2 AS renv-base
WORKDIR /app
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
libcurl4-openssl-dev \
libssl-dev \
libxml2-dev \
libgdal-dev \
libgeos-dev \
libproj-dev \
libudunits2-dev \
libpq-dev \
libfontconfig1-dev \
libfreetype6-dev \
libharfbuzz-dev \
libfribidi-dev \
libabsl-dev \
libpng-dev \
libjpeg-dev \
libtiff-dev \
git \
pandoc \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p renv
COPY --chown=shiny:shiny renv.lock renv.lock
COPY --chown=shiny:shiny .Rprofile .Rprofile
COPY --chown=shiny:shiny renv/activate.R renv/activate.R
COPY --chown=shiny:shiny renv/settings.json renv/settings.json
RUN mkdir -p renv/.cache
ENV RENV_PATHS_CACHE=renv/.cache
ENV RENV_CONFIG_CACHE_SYMLINKS=FALSE
RUN R -s -e "renv::restore()"
FROM rocker/shiny:4.5.2
WORKDIR /app
RUN apt-get update && apt-get install -y \
libcurl4 \
libssl3 \
libxml2 \
gdal-bin \
libgeos-c1v5 \
libproj25 \
libudunits2-0 \
libpq5 \
libfontconfig1 \
libfreetype6 \
libharfbuzz0b \
libfribidi0 \
libpng16-16 \
libtiff6 \
pandoc \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /srv/shiny-server/app
COPY --chown=shiny:shiny --from=renv-base /app/renv /srv/shiny-server/app/renv
COPY --chown=shiny:shiny --from=renv-base /app/.Rprofile /srv/shiny-server/app/.Rprofile
COPY --chown=shiny:shiny --from=renv-base /app/renv.lock /srv/shiny-server/app/renv.lock
COPY --chown=shiny:shiny dashboard.Rmd /srv/shiny-server/app/index.Rmd
COPY --chown=shiny:shiny queries.R /srv/shiny-server/app/
COPY --chown=shiny:shiny utils.R /srv/shiny-server/app/
COPY --chown=shiny:shiny config.yml /srv/shiny-server/app/
COPY --chown=shiny:shiny shiny-server.conf /etc/shiny-server/shiny-server.conf
EXPOSE 3838
CMD ["/usr/bin/shiny-server"]