| FROM rocker/r-ver:4.5.2 | |
| # Install system dependencies for R packages | |
| # - libcurl4-openssl-dev, libssl-dev: for httr/curl (ellmer dependency) | |
| # - libxml2-dev: for xml2 (ellmer dependency) | |
| # - libpoppler-cpp-dev: for pdftools | |
| # - libmagick++-dev: for magick | |
| # - libfontconfig1-dev, libfreetype6-dev: for magick text rendering | |
| RUN apt-get update && apt-get install -y \ | |
| libcurl4-openssl-dev \ | |
| libssl-dev \ | |
| libxml2-dev \ | |
| libpoppler-cpp-dev \ | |
| libmagick++-dev \ | |
| libfontconfig1-dev \ | |
| libfreetype6-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /code | |
| # Install remotes package first, then install specific versions of required packages | |
| RUN R -e "install.packages('remotes', repos = 'https://cloud.r-project.org')" \ | |
| && R -e "remotes::install_version('shiny', version = '1.12.1', repos = 'https://cloud.r-project.org')" \ | |
| && R -e "remotes::install_version('purrr', version = '1.2.1', repos = 'https://cloud.r-project.org')" \ | |
| && R -e "remotes::install_version('ellmer', version = '0.4.0', repos = 'https://cloud.r-project.org')" \ | |
| && R -e "remotes::install_version('pdftools', version = '3.6.0', repos = 'https://cloud.r-project.org')" \ | |
| && R -e "remotes::install_version('magick', version = '2.9.0', repos = 'https://cloud.r-project.org')" \ | |
| && R -e "remotes::install_version('base64enc', version = '0.1.3', repos = 'https://cloud.r-project.org')" | |
| COPY . . | |
| CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=7860)"] | |