softwareDevelopment/OCS
0
1FROM rocker/shiny-verse:4.3.22 3# Install system dependencies4RUN apt-get update && apt-get install -y \5 libcurl4-openssl-dev \6 libssl-dev \7 libxml2-dev \8 libfontconfig1-dev \9 libfreetype6-dev \10 libpng-dev \11 libtiff5-dev \12 libjpeg-dev \13 && apt-get clean \14 && rm -rf /var/lib/apt/lists/*15 16# rocker/shiny-verse already includes shiny, ggplot2, dplyr, tidyverse17# Only install packages not bundled in the base image18RUN R -e "install.packages('DT', repos='https://cloud.r-project.org')"19RUN R -e "install.packages('reshape2', repos='https://cloud.r-project.org')"20 21# Verify all packages load correctly at build time22RUN R -e "library(shiny); library(DT); library(ggplot2); library(dplyr); library(reshape2); cat('All packages OK\n')"23 24# Copy app into the Shiny server directory25COPY app.R /srv/shiny-server/app/app.R26 27# Configure shiny-server to listen on port 7860 (required by Hugging Face Spaces)28RUN printf '\29run_as shiny;\n\30server {\n\31 listen 7860;\n\32 location / {\n\33 site_dir /srv/shiny-server/app;\n\34 log_dir /var/log/shiny-server;\n\35 directory_index on;\n\36 }\n\37}\n' > /etc/shiny-server/shiny-server.conf38 39# Ensure log directory exists and is writable40RUN mkdir -p /var/log/shiny-server && chown shiny:shiny /var/log/shiny-server41 42EXPOSE 786043 44CMD ["/usr/bin/shiny-server"]