| FROM rocker/shiny-verse:latest | |
| RUN useradd -m -u 1000 user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| RUN mkdir -p $HOME/app && chown user:user $HOME/app | |
| WORKDIR $HOME/app | |
| # Install system dependencies for mapgl/sf | |
| RUN apt-get update && apt-get install -y \ | |
| libudunits2-dev \ | |
| libgdal-dev \ | |
| libgeos-dev \ | |
| libproj-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install R packages | |
| # listed explicitly to ensure all dependencies are met | |
| RUN install2.r --error \ | |
| shiny \ | |
| bsicons \ | |
| mapgl \ | |
| sf \ | |
| dplyr \ | |
| readr \ | |
| DT \ | |
| plotly \ | |
| ggplot2 \ | |
| shinyjs \ | |
| later \ | |
| htmltools \ | |
| rvest \ | |
| stringr \ | |
| lubridate \ | |
| purrr \ | |
| jsonlite \ | |
| curl \ | |
| httr \ | |
| writexl \ | |
| remotes | |
| RUN installGithub.r \ | |
| rstudio/bslib \ | |
| rstudio/httpuv | |
| COPY --chown=user . $HOME/app | |
| USER user | |
| EXPOSE 7860 | |
| CMD ["R", "--quiet", "-e", "shiny::runApp('/home/user/app', host='0.0.0.0', port=7860)"] | |