Files
hurricane_normalization_app/Dockerfile
T
2025-11-29 20:43:53 -05:00

74 lines
1.6 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 \
gdal-bin \
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 renv.lock renv.lock
COPY .Rprofile .Rprofile
COPY renv/activate.R renv/activate.R
COPY renv/settings.json renv/settings.json
RUN mkdir -p renv/.cache
ENV RENV_PATHS_CACHE=renv/.cache
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 \
libgdal32 \
libgeos-c1v5 \
libproj25 \
libudunits2-0 \
libpq5 \
libfontconfig1 \
libfreetype6 \
libharfbuzz0b \
libfribidi0 \
libpng16-16 \
libjpeg62-turbo \
libtiff6 \
pandoc \
&& rm -rf /var/lib/apt/lists/*
COPY --from=renv-base /app/renv /app/renv
COPY --from=renv-base /app/.Rprofile /app/.Rprofile
COPY --from=renv-base /app/renv.lock /app/renv.lock
COPY dashboard.Rmd dashboard.Rmd
COPY queries.R queries.R
COPY utils.R utils.R
EXPOSE 8080
CMD ["R", "-e", "rmarkdown::run('dashboard.Rmd', shiny_args = list(host = '0.0.0.0', port = 8080))"]ROM rocker/shiny:4.5.2 AS base