softwareDevelopment/qtl
0
1FROM rocker/shiny:latest2 3# Set working directory inside container4WORKDIR /code5 6# Install additional system dependencies7RUN apt-get update && apt-get install -y \8 libcurl4-openssl-dev \9 libssl-dev \10 libxml2-dev \11 libnlopt-dev \12 libicu-dev \13 libgdal-dev \14 libgeos-dev \15 libproj-dev \16 libv8-dev \17 libnode-dev \18 libglpk-dev \19 libglpk40 \20 zlib1g-dev \21 libbz2-dev \22 liblzma-dev \23 libharfbuzz-dev \24 libfribidi-dev \25 libfreetype6-dev \26 libpng-dev \27 libtiff5-dev \28 libjpeg-dev \29 && rm -rf /var/lib/apt/lists/*30 31# Install CRAN packages (excluding problematic ones)32RUN install2.r --error \33 nloptr \34 lme4 \35 emmeans \36 readxl \37 plotly \38 shinyjs \39 shinyWidgets \40 DT \41 RColorBrewer \42 ggrepel \43 openxlsx \44 corrplot \45 UpSetR \46 ggcorrplot \47 cowplot \48 pheatmap \49 viridis \50 ggridges \51 ggExtra \52 circlize \53 foreach \54 doParallel \55 tidyverse \56 igraph \57 data.table \58 qtl \59 shinycssloaders \60 gridExtra \61 ggplot2 \62 dplyr \63 tidyr \64 scales \65 shinydashboard \66 heatmaply \67 UpSetR68 69# Install BiocManager and Bioconductor packages70RUN R -e "install.packages('BiocManager', repos='https://cloud.r-project.org/')" && \71 R -e "BiocManager::install(c('ComplexHeatmap', 'GenomicRanges', 'IRanges', 'S4Vectors', 'Biostrings'), ask=FALSE, update=FALSE)"72 73# Install remotes and then install qtlcharts74RUN R -e "install.packages('remotes', repos='https://cloud.r-project.org/')" && \75 R -e "remotes::install_github('kbroman/qtlcharts', upgrade='never', dependencies=FALSE)"76 77# Create www directory and health file78RUN mkdir -p /code/www && echo "OK" > /code/www/health79 80# Copy app code81COPY app.R /code/82 83# Expose the port Shiny will run on84EXPOSE 786085#86# Run the app with corrected host address87CMD ["R", "--quiet", "-e", "shiny::runApp('/code', host='0.0.0.0', port=7860)"]