Spaces:
Sleeping
Sleeping
| FROM rocker/shiny:latest | |
| # Set working directory inside container | |
| WORKDIR /code | |
| # Install additional system dependencies including libglpk for igraph | |
| RUN apt-get update && apt-get install -y \ | |
| libcurl4-openssl-dev \ | |
| libssl-dev \ | |
| libxml2-dev \ | |
| libnlopt-dev \ | |
| libicu-dev \ | |
| libgdal-dev \ | |
| libgeos-dev \ | |
| libproj-dev \ | |
| libv8-dev \ | |
| libnode-dev \ | |
| libglpk-dev \ | |
| libglpk40 \ | |
| zlib1g-dev \ | |
| libbz2-dev \ | |
| liblzma-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install DT dependencies first | |
| RUN install2.r --error \ | |
| htmltools \ | |
| htmlwidgets \ | |
| jsonlite \ | |
| crosstalk \ | |
| magrittr \ | |
| promises | |
| # Then install the main packages (excluding QTLseqr and vcfR for now) | |
| RUN install2.r --error \ | |
| nloptr \ | |
| lme4 \ | |
| emmeans \ | |
| readxl \ | |
| plotly \ | |
| shinyjs \ | |
| shinyWidgets \ | |
| DT \ | |
| RColorBrewer \ | |
| ggrepel \ | |
| openxlsx | |
| # Install tidyverse and igraph | |
| RUN install2.r --error tidyverse igraph | |
| # Install data.table separately | |
| RUN install2.r --error data.table | |
| # Install BiocManager | |
| RUN R -e "install.packages('BiocManager', repos='https://cloud.r-project.org/')" | |
| # Install Bioconductor dependencies | |
| RUN R -e "BiocManager::install(c('GenomicRanges', 'IRanges', 'S4Vectors', 'Biostrings', 'Rsamtools', 'GenomeInfoDb'), ask=FALSE, update=FALSE)" | |
| # Install vcfR package | |
| RUN install2.r --error vcfR | |
| # Install remotes for GitHub installations | |
| RUN install2.r --error remotes | |
| # Install QTLseqr from GitHub | |
| RUN R -e "remotes::install_github('bmansfeld/QTLseqr', upgrade='never', dependencies=FALSE)" | |
| # Create www directory and health file directly | |
| RUN mkdir -p /code/www && echo "OK" > /code/www/health | |
| # Copy app code | |
| COPY app.R /code/ | |
| # Expose the port Shiny will run on | |
| EXPOSE 7860 | |
| # Run the app with corrected host address | |
| CMD ["R", "--quiet", "-e", "shiny::runApp('/code', host='0.0.0.0', port=7860)"] |