Team Ai
Apppublic

fmegahed/structured_text_extraction

sourceHugging Facemitupdated 2d agoView on Hugging Face
1likes
Dockerfile39 linesDownload Raw Back to root
1FROM rocker/shiny:4.5.22 3# Install system dependencies for R packages4# - libcurl4-openssl-dev, libssl-dev: for httr2/curl (ellmer dependency)5# - libxml2-dev: for xml26# - libpoppler-cpp-dev: for pdftools (PDF text and page rendering)7# - libmagick++-dev: for magick (ellmer resizes images with it before sending them)8# - libfontconfig1-dev, libfreetype6-dev: for magick text rendering9RUN apt-get update && apt-get install -y \10    libcurl4-openssl-dev \11    libssl-dev \12    libxml2-dev \13    libpoppler-cpp-dev \14    libmagick++-dev \15    libfontconfig1-dev \16    libfreetype6-dev \17    && rm -rf /var/lib/apt/lists/*18 19WORKDIR /code20 21# Install remotes package first, then install specific versions of required packages.22# The last line fails the build if any of them cannot be loaded.23RUN R -e "install.packages('remotes', repos = 'https://cloud.r-project.org')" \24    && R -e "remotes::install_version('shiny', version = '1.13.0', repos = 'https://cloud.r-project.org')" \25    && R -e "remotes::install_version('jsonlite', version = '2.0.0', repos = 'https://cloud.r-project.org')" \26    && R -e "remotes::install_version('ellmer', version = '0.5.0', repos = 'https://cloud.r-project.org')" \27    && R -e "remotes::install_version('pdftools', version = '3.7.0', repos = 'https://cloud.r-project.org')" \28    && R -e "remotes::install_version('magick', version = '2.9.1', repos = 'https://cloud.r-project.org')" \29    && R -e "remotes::install_version('base64enc', version = '0.1-6', repos = 'https://cloud.r-project.org')" \30    && R -e "for (p in c('shiny', 'jsonlite', 'ellmer', 'pdftools', 'magick', 'base64enc')) library(p, character.only = TRUE)"31 32# Copy only what the app needs (tests, .env and .git are also excluded by .dockerignore)33COPY app.R ./34COPY R/ ./R/35COPY config/ ./config/36COPY www/ ./www/37 38CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=7860)"]39