FROM rocker/shiny:latest # Add Apache Arrow repository RUN apt-get update && apt-get install -y --no-install-recommends \ wget \ lsb-release \ && wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb \ && apt-get install -y --no-install-recommends ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb \ && rm apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb \ && apt-get update # Install system dependencies RUN apt-get install -y --no-install-recommends \ libmagick++-dev \ libpng-dev \ libssl-dev \ libcurl4-openssl-dev \ libxml2-dev \ libfontconfig1-dev \ libfreetype6-dev \ libharfbuzz-dev \ libfribidi-dev \ libarrow-dev \ chromium \ chromium-driver \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Configure Chrome/Chromium for Docker environment ENV CHROMOTE_CHROME=/usr/bin/chromium ENV CHROME_BIN=/usr/bin/chromium RUN install2.r --error --skipinstalled \ shiny \ dplyr \ ggplot2 \ gridExtra \ gt \ gtExtras \ stringr \ zip \ png \ magick \ webshot2 \ chromote \ workflows \ parsnip \ recipes \ arrow \ readr \ scales \ xgboost \ tidymodels \ httr \ ggforce WORKDIR /code COPY . /code EXPOSE 7860 CMD ["R", "--quiet", "-e", "shiny::runApp('/code', host='0.0.0.0', port=7860)"]