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"]