FROM rocker/shiny:latest # system dependencies RUN apt-get update && apt-get install -y \ libgdal-dev \ libgeos-dev \ libproj-dev \ libssl-dev \ libcurl4-openssl-dev \ libxml2-dev \ && rm -rf /var/lib/apt/lists/* # R packages RUN R -e "install.packages('shiny', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('leaflet', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('dplyr', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('readr', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('ggplot2', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('sf', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('viridisLite', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('scales', repos='https://cran.rstudio.com/')" RUN R -e "install.packages('zoo', repos='https://cran.rstudio.com/')" # copy app files COPY app.R /srv/shiny-server/ COPY brt_projections_by_rock/ /srv/shiny-server/brt_projections_by_rock/ COPY shp/ /srv/shiny-server/shp/ # Hugging Face permissions RUN chown -R 1000:1000 /srv/shiny-server/ \ && chmod -R 755 /srv/shiny-server/ EXPOSE 7860 CMD ["R", "-e", "shiny::runApp('/srv/shiny-server/app.R', host='0.0.0.0', port=7860)"]