From 966cb82a4fe6203106f699a978d3548728c7f5c9 Mon Sep 17 00:00:00 2001 From: dylanbenzi Date: Sat, 29 Nov 2025 18:27:01 -0500 Subject: [PATCH] add dockerfile --- Dockerfile | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a88fc61 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,53 @@ +FROM rocker/shiny:4.5.2 AS base + +WORKDIR /app +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 renv/.cache +ENV RENV_PATHS_CACHE=renv/.cache + +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 R -s -e "renv::restore()" + +FROM rocker/shiny:4.5.2 + +WORKDIR /app + +COPY --from=base /app/renv /app/renv +COPY --from=base /app/.Rprofile /app/.Rprofile +COPY --from=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))"]