Spaces:
Paused
Paused
| FROM rocker/r-base:latest | |
| # System deps for R pkgs + headless Chromium (for webshot2 PNG export) | |
| RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
| libcurl4-openssl-dev \ | |
| libssl-dev \ | |
| libxml2-dev \ | |
| libfontconfig1-dev \ | |
| libfreetype6-dev \ | |
| libxrender1 \ | |
| libxext6 \ | |
| libnss3 \ | |
| libglib2.0-0 \ | |
| libx11-6 \ | |
| libx11-xcb1 \ | |
| libxcb1 \ | |
| libxcomposite1 \ | |
| libxdamage1 \ | |
| libxfixes3 \ | |
| libatk-bridge2.0-0 \ | |
| libgtk-3-0 \ | |
| libdrm2 \ | |
| libgbm1 \ | |
| fonts-liberation \ | |
| fonts-dejavu \ | |
| chromium \ | |
| ca-certificates \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Let chromote/webshot2 find Chromium and use safe flags in containers | |
| ENV CHROME_BIN=/usr/bin/chromium | |
| ENV CHROMOTE_CHROME=/usr/bin/chromium | |
| ENV CHROMOTE_CHROME_ARGS="--no-sandbox --disable-dev-shm-usage" | |
| WORKDIR /app | |
| # R packages | |
| RUN install2.r --error --skipinstalled \ | |
| shiny \ | |
| shinydashboard \ | |
| DT \ | |
| dplyr \ | |
| shinyjs \ | |
| readr \ | |
| webshot2 \ | |
| htmlwidgets \ | |
| ggplot2 | |
| # App code | |
| COPY . /app | |
| EXPOSE 7860 | |
| # Run the Shiny app (uses $PORT if provided) | |
| CMD ["R", "--quiet", "-e", "options(shiny.port=as.integer(Sys.getenv('PORT', 7860)), shiny.host='0.0.0.0'); shiny::runApp('/app')"] |