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 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 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 --from=renv-base /app/renv /srv/shiny-server/app/renv COPY --from=renv-base /app/.Rprofile /srv/shiny-server/app/.Rprofile COPY --from=renv-base /app/renv.lock /srv/shiny-server/app/renv.lock COPY dashboard.Rmd /srv/shiny-server/app/index.Rmd COPY queries.R /srv/shiny-server/app/ COPY utils.R /srv/shiny-server/app/ COPY config.yml /srv/shiny-server/app/ COPY shiny-server.conf /etc/shiny-server/shiny-server.conf RUN chown -R shiny:shiny /srv/shiny-server/app EXPOSE 3838 CMD ["/usr/bin/shiny-server"]