FROM ubuntu:16.04 ARG TARGET_BRANCH=master ARG PHANTASUS_BUILD ARG GITHUB_PAT ENV OCPU_MASTER_HOME=/var/phantasus/ocpu-root RUN apt-get -y update && \ apt-get -y dist-upgrade && \ apt-get -y install \ software-properties-common \ git \ libcairo2-dev \ libxt-dev \ libssl-dev \ libssh2-1-dev \ libcurl4-openssl-dev \ nginx \ libapparmor-dev \ libxml2-dev \ locales \ wget RUN add-apt-repository -y 'deb http://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/' && apt-get -y update RUN apt-get install -y --allow-unauthenticated r-base r-base-dev RUN apt-add-repository -y 'deb http://ppa.launchpad.net/maarten-fonville/protobuf/ubuntu zesty main' && \ apt-get -y update RUN apt-get -y --allow-unauthenticated install \ libprotobuf-dev \ protobuf-compiler RUN R -e 'install.packages("protolite", repo = "https://cran.rstudio.com/")' #RUN apt-add-repository -y ppa:opencpu/opencpu-2.0 && \ # apt-get update && \ # apt-get install -y --allow-unauthenticated \ # opencpu-lib #RUN R -e 'install.packages("opencpu", repo = "https://cran.rstudio.com/")' #RUN sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu xenial/" >> /etc/apt/sources.list' # protobuf 3.5, with 2GB byte limit RUN gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 RUN gpg -a --export E084DAB9 | apt-key add - RUN R -e 'install.packages("devtools", repo = "https://cran.rstudio.com/")' RUN R -e 'install.packages("unix")' #RUN git clone -b ${TARGET_BRANCH} --recursive https://github.com/ctlab/phantasus /root/phantasus COPY . /root/phantasus RUN R -e 'source("https://bioconductor.org/biocLite.R")' RUN R -e 'devtools::install_github("ctlab/fgsea", tag="1.9.5")' RUN R -e 'devtools::install("/root/phantasus", build_vignettes=T)' RUN printf "window.PHANTASUS_BUILD='$PHANTASUS_BUILD';" >> /root/phantasus/inst/www/phantasus.js/RELEASE.js RUN cp -r /root/phantasus/inst/www/phantasus.js /var/www/html/phantasus RUN cp /root/phantasus/inst/configs/default /etc/nginx/sites-available/default RUN cp /root/phantasus/inst/configs/opencpu.conf /etc/opencpu/server.conf RUN cp /root/phantasus/inst/configs/index.html /var/www/html/ RUN rm -rf /root/phantasus/inst EXPOSE 80 RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 RUN mkdir -p /var/phantasus/cache RUN mkdir -p /var/phantasus/preloaded RUN mkdir -p /var/phantasus/ocpu-root CMD service nginx start && \ R -e 'library(phantasus); servePhantasus("0.0.0.0", 8001, openInBrowser = F, cacheDir="/var/phantasus/cache", preloadedDir="/var/phantasus/preloaded")'