test / Dockerfile
okata's picture
Upload Dockerfile
6a0900e verified
FROM bioconductor/bioconductor_docker:RELEASE_3_19
# Update apt-get and install necessary libraries
RUN apt-get update \
&& apt-get install -y \
libcurl4-openssl-dev \
libxml2-dev \
openjdk-11-jdk \
libcairo2-dev \
libxt-dev \
nginx \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install R packages
RUN R -e "install.packages(c('shinyjqui','BiocManager','bslib','rstatix','ggpubr','remotes', 'devtools', 'shiny','shinyscreenshot', 'readr', 'shinyAce', 'ggplot2', 'dplyr', 'shinythemes', 'openintro', 'plotly', 'DT', 'ggprism', 'ggbeeswarm', 'shinyFiles', 'stringr', 'shinyBS', 'shinydashboard', 'shinyWidgets', 'tidyr', 'pheatmap', 'grid', 'gridExtra', 'ggeasy', 'ggtext', 'colorspace', 'shinyjqui', 'tidyverse', 'gprofiler2', 'colourpicker', 'shinydashboardPlus', 'jsonlite', 'reshape2','shinyalert'))"
RUN R -e 'BiocManager::install("graph")'
RUN R -e "source('https://install-github.me/dreamRs/esquisse')"
# Install plumber and cyjshiny
RUN R -e "install.packages(c('plumber','cyjShiny','svglite'))"
RUN mkdir -p /srv/app/modules \
&& mkdir -p /srv/app/pathwaymap \
&& mkdir -p /srv/app/svg \
&& mkdir -p /srv/app/www \
&& mkdir -p /srv/app/data
RUN rm /etc/nginx/sites-enabled/default \
&& mkdir -p /var/cache/nginx \
&& mkdir -p /var/log/nginx \
&& mkdir -p /var/lib/nginx \
&& mkdir -p /var/lib/nginx/body \
#&& chown -R www-data:www-data /var/log/nginx \
#&& chown -R www-data:www-data /var/lib/nginx \
#&& chown -R www-data:www-data /var/cache/nginx \
&& chmod -R 777 /var/log/nginx \
&& chmod -R 777 /var/lib/nginx \
&& chmod -R 777 /var/cache/nginx \
&& touch /var/run/nginx.pid \
&& chmod 777 /var/run/nginx.pid
#&& chown -R www-data:www-data /var/run/nginx.pid
COPY nginx.conf /etc/nginx/nginx.conf
RUN chmod 666 /etc/nginx/nginx.conf
COPY ./app/ui.R /srv/app/
COPY ./app/server.R /srv/app/
COPY ./app/plumber.R /srv/app/
COPY ./app/R /srv/app/modules/
COPY ./app/data /srv/app/pathwaymap/
COPY ./app/svg /srv/app/svg/
COPY ./app/www /srv/app/www/
COPY ./scripts/start.sh /usr/local/bin/start.sh
RUN chmod +x /usr/local/bin/start.sh
RUN chmod -R 777 /srv/app \
&& chmod -R 777 /srv/app/data
EXPOSE 7860
EXPOSE 8000
EXPOSE 9000
CMD ["sh", "/usr/local/bin/start.sh"]