FROM rocker/shiny:4.5.2 # 1. System dependencies (spatial stack required for sf) RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ cmake \ curl \ libabsl-dev \ libcurl4-openssl-dev \ libfontconfig1-dev \ libfreetype6-dev \ libfribidi-dev \ libgdal-dev \ libgeos-dev \ libharfbuzz-dev \ libicu-dev \ libjpeg-dev \ libpng-dev \ libproj-dev \ libssl-dev \ libtiff5-dev \ libudunits2-dev \ libxml2-dev \ pkg-config \ proj-bin \ proj-data \ && rm -rf /var/lib/apt/lists/* WORKDIR /srv/shiny-server # 2. Copy lockfile and restore R packages COPY renv.lock . ENV RENV_PATHS_LIBRARY=/usr/local/lib/R/site-library RUN R -q -e "install.packages('renv', repos='https://cloud.r-project.org')" \ && R -q -e "renv::restore(library='/usr/local/lib/R/site-library', prompt=FALSE)"