diff --git a/docker/Dockerfile b/docker/Dockerfile index d68918a..38f1c02 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -33,54 +33,55 @@ RUN cd /home/jovyan/libs/hs_restclient/hs_restclient && patch < hs_restclient.pa # install DHSVM (need to modify UFconfig.mk for linux) RUN git clone -b glacier https://github.com/pnnl/DHSVM-PNNL.git /home/jovyan/libs/DHSVM-PNNL -RUN sed -i '/# CC = gcc/s/^# //' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk -RUN sed -i '/# CFLAGS = -O3 -fexceptions/s/^# //' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk -RUN sed -i '/# BLAS = -lgoto -lfrtbegin -lg2c $(XERBLA) -lpthread/s/^# //' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk -RUN sed -i 's/F77 = gfortran/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk -RUN sed -i 's/CFLAGS = -O3 -fno-common -no-cpp-precomp -fexception/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk -RUN sed -i 's/BLAS = -framework Accelerate/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk -RUN sed -i 's/LAPACK = -framework Accelerate/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk -RUN sed -i 's/DEFS = -DHAVE_X11 -DHAVE_GLACIER/DEFS = -DHAVE_X11/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/sourcecode/makefile -RUN rm /home/jovyan/libs/DHSVM-PNNL/DHSVM/Lib/libcxsparse.a -RUN cd /home/jovyan/libs/DHSVM-PNNL/DHSVM/Lib && make -RUN cd /home/jovyan/libs/DHSVM-PNNL/DHSVM/sourcecode && make +RUN sed -i '/# CC = gcc/s/^# //' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk \ + && sed -i '/# CFLAGS = -O3 -fexceptions/s/^# //' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk \ + && sed -i '/# BLAS = -lgoto -lfrtbegin -lg2c $(XERBLA) -lpthread/s/^# //' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk \ + && sed -i 's/F77 = gfortran/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk \ + && sed -i 's/CFLAGS = -O3 -fno-common -no-cpp-precomp -fexception/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk \ + && sed -i 's/BLAS = -framework Accelerate/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk \ + && sed -i 's/LAPACK = -framework Accelerate/# &/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/UFconfig/UFconfig.mk \ + && sed -i 's/DEFS = -DHAVE_X11 -DHAVE_GLACIER/DEFS = -DHAVE_X11/' /home/jovyan/libs/DHSVM-PNNL/DHSVM/sourcecode/makefile \ + && rm /home/jovyan/libs/DHSVM-PNNL/DHSVM/Lib/libcxsparse.a \ + && cd /home/jovyan/libs/DHSVM-PNNL/DHSVM/Lib && make \ + && cd /home/jovyan/libs/DHSVM-PNNL/DHSVM/sourcecode && make # install Boost and Dakota -RUN wget -O /home/jovyan/libs/boost.tar.gz https://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.gz/download -RUN mkdir /home/jovyan/libs/boost && tar xzfv /home/jovyan/libs/boost.tar.gz -C /home/jovyan/libs/boost --strip-components 1 +RUN wget -O /home/jovyan/libs/boost.tar.gz https://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.gz/download \ + && mkdir /home/jovyan/libs/boost \ + && tar xzfv /home/jovyan/libs/boost.tar.gz -C /home/jovyan/libs/boost --strip-components 1 ###### BEGIN ROOT ####### USER root - - RUN cd /home/jovyan/libs/boost && ./bootstrap.sh --prefix=/usr/local - RUN echo "using mpi ;" >> /home/jovyan/libs/boost/tools/build/v2/user-config.jam - RUN cd /home/jovyan/libs/boost && ./b2 --with=all -j 4 install; exit 0 - RUN sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf' - RUN ldconfig - RUN apt-get install -y libblas-dev liblapack-dev cmake - + RUN apt-get install -y libblas-dev liblapack-dev cmake \ + && cd /home/jovyan/libs/boost && ./bootstrap.sh --prefix=/usr/local \ + && echo "using mpi ;" >> /home/jovyan/libs/boost/tools/build/v2/user-config.jam \ + && cd /home/jovyan/libs/boost && ./b2 --with=all -j 4 install; exit 0 \ + && sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf' \ + && ldconfig USER jovyan ####### END ROOT ######## -RUN wget https://dakota.sandia.gov/sites/default/files/distributions/public/dakota-6.5-public.src.tar.gz -P /home/jovyan/libs -RUN tar xzf /home/jovyan/libs/dakota-6.5-public.src.tar.gz -C /home/jovyan/libs -RUN mkdir /home/jovyan/libs/dakota-6.5.0.src/build +RUN wget https://dakota.sandia.gov/sites/default/files/distributions/public/dakota-6.5-public.src.tar.gz -P /home/jovyan/libs \ + && tar xzf /home/jovyan/libs/dakota-6.5-public.src.tar.gz -C /home/jovyan/libs \ + && mkdir /home/jovyan/libs/dakota-6.5.0.src/build ADD docker/dakota_template.cmake /home/jovyan/libs/dakota-6.5.0.src/build/BuildDakota.cmake -RUN cd /home/jovyan/libs/dakota*.src/build && cmake -C BuildDakota.cmake /home/jovyan/libs/dakota*.src +RUN cd /home/jovyan/libs/dakota*.src/build \ + && cmake -C BuildDakota.cmake /home/jovyan/libs/dakota*.src ###### BEGIN ROOT ####### USER root - RUN cd /home/jovyan/libs/dakota*.src/build && make clean - RUN cd /home/jovyan/libs/dakota*.src/build && make - RUN cd /home/jovyan/libs/dakota*.src/build && make install ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH + RUN cd /home/jovyan/libs/dakota*.src/build \ + && make clean \ + && make \ + && make install USER jovyan ####### END ROOT ######## ADD docker/icommands.sh /home/jovyan/libs/icommands.sh USER root -RUN chmod +x /home/jovyan/libs/icommands.sh -RUN echo "/home/jovyan/libs" | /home/jovyan/libs/icommands.sh +RUN chmod +x /home/jovyan/libs/icommands.sh \ + && echo "/home/jovyan/libs" | /home/jovyan/libs/icommands.sh USER jovyan ENV \ @@ -89,41 +90,45 @@ IRODS_PLUGINS_HOME=/home/jovyan/libs/icommands/plugins/ \ IRODS_ENVIRONMENT_FILE=/home/jovyan/work/notebooks/data/.irods/irods_environment.json \ IRODS_AUTHENTICATION_FILE=/home/jovyan/work/notebooks/data/.irods/.irodsA -RUN pip install git+https://github.com/cybergis/jupyterlib.git -RUN pip3 install git+https://github.com/cybergis/jupyterlib.git +RUN pip install git+https://github.com/cybergis/jupyterlib.git \ + && pip3 install git+https://github.com/cybergis/jupyterlib.git - ###### BEGIN ROOT ####### - USER root - # register the kernel in the current R installation - RUN sh -c 'echo "deb http://cran.rstudio.com/bin/linux/debian jessie-cran3/" >> /etc/apt/sources.list' - RUN gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 - RUN gpg -a --export E084DAB9 | apt-key add - - RUN apt-key update - RUN apt-get update - - # required libs for installing R packages - RUN apt-get -y install \ - libcurl4-openssl-dev \ - libssl-dev \ - make \ - gcc \ - g++ - - # install R-base packages (including IRKernel) - RUN apt-get install --allow-unauthenticated --no-install-recommends -y r-base=3.3* - RUN Rscript -e "install.packages('devtools', repos='http://archive.linux.duke.edu/cran')" - RUN Rscript -e "devtools::install_github('IRkernel/IRkernel')" - USER jovyan - ####### END ROOT ######## +#RUN Rscript -e "IRkernel::installspec(name = 'ir33', displayname = 'R 3.3')" \ +ENV R_LIBS_SITE=/home/jovyan/.userRLib +RUN mkdir /home/jovyan/.userRLib + +RUN conda create -y -n R +RUN conda update conda -y #(conda update --all) + +RUN conda install -n R -c r \ + r-essentials + r-xml \ + r-rjsonio + +# ###### BEGIN ROOT ####### +USER root +RUN ln -s /opt/conda/envs/R/bin/R /usr/bin/R +RUN ln -s /opt/conda/envs/R/bin/Rscript /usr/bin/Rscript +USER jovyan +# ####### END ROOT ######## + +RUN echo "options(repos=structure(c(CRAN=\"http://archive.linux.duke.edu/cran\")))" >> /home/jovyan/.Rprofile \ + && Rscript -e "install.packages('devtools', repos='http://archive.linux.duke.edu/cran')" \ + && Rscript -e "IRkernel::installspec(name = 'ir33', displayname = 'R 3.3')" \ + && Rscript -e "install.packages('WaterML')" -RUN Rscript -e "IRkernel::installspec(name = 'ir33', displayname = 'R 3.3')" +RUN pip install geopandas graphviz \ + && pip3 install geopandas graphviz -RUN pip install geopandas -RUN pip3 install geopandas +# celery +ENV PATH=/home/jovyan/libs:$PATH +RUN pip install celery \ + && pip3 install celery -RUN pip install graphviz -RUN pip3 install graphviz +RUN mkdir /home/jovyan/libs/celeryworker +ADD docker/celery/celeryworker /home/jovyan/libs/celeryworker/ +ENV PYTHONPATH=/home/jovyan/libs:$PYTHONPATH ################################################### ## End - JupyterHub Development Image Additions ###