diff --git a/singleuser-builder-conda/Dockerfile b/singleuser-builder-conda/Dockerfile index ed501027..1f136391 100644 --- a/singleuser-builder-conda/Dockerfile +++ b/singleuser-builder-conda/Dockerfile @@ -13,22 +13,21 @@ RUN apt-get update && \ git && \ apt-get purge && apt-get clean -ENV CONDA_DIR /opt/conda -ENV PATH $CONDA_DIR/envs/base/bin:$CONDA_DIR/bin/:$PATH -ENV NB_USER jovyan +ENV CONDA_DIR=/opt/conda \ + PATH=/opt/conda/bin:$PATH \ + NB_USER=jovyan \ + HOME=/home/jovyan RUN adduser --disabled-password --gecos "Default Jupyter user" ${NB_USER} -WORKDIR /home/${NB_USER} -ADD install-miniconda.bash /usr/local/bin/install-miniconda.bash +WORKDIR $HOME +ADD install-miniconda.bash /tmp/ +ADD environment.yml /tmp/ -RUN /usr/local/bin/install-miniconda.bash +RUN bash /tmp/install-miniconda.bash && \ + rm /tmp/install-miniconda.bash /tmp/environment.yml USER $NB_USER -ADD environment.yml . -RUN conda env create --quiet -n base && conda clean -tipsy -RUN rm environment.yml - COPY ./s2i/bin/ /usr/libexec/s2i EXPOSE 8888 diff --git a/singleuser-builder-conda/Makefile b/singleuser-builder-conda/Makefile index 2f87bc12..a5ff4842 100644 --- a/singleuser-builder-conda/Makefile +++ b/singleuser-builder-conda/Makefile @@ -1,5 +1,5 @@ -IMAGE_NAME = jupyterhub/singleuser-builder-miniconda +IMAGE_NAME = jupyterhub/singleuser-builder-conda VERSION = $(shell cat version) .PHONY: build diff --git a/singleuser-builder-conda/environment.yml b/singleuser-builder-conda/environment.yml index 2a334fe8..eeca8ae7 100644 --- a/singleuser-builder-conda/environment.yml +++ b/singleuser-builder-conda/environment.yml @@ -1,7 +1,8 @@ -name: base dependencies: -- notebook==5.0.0 -- ipykernel==4.6.0 -- ipywidgets==6.0.0 -- pip: + - python==3.6.1 + - notebook==5.0.0 + - ipython==6.0.0 + - ipykernel==4.6.0 + - ipywidgets==6.0.0 + - pip: - jupyterhub==0.7.2 diff --git a/singleuser-builder-conda/install-miniconda.bash b/singleuser-builder-conda/install-miniconda.bash index ab09bcf1..5078fc2d 100755 --- a/singleuser-builder-conda/install-miniconda.bash +++ b/singleuser-builder-conda/install-miniconda.bash @@ -1,31 +1,35 @@ #!/bin/bash # This downloads and installs a pinned version of miniconda -set -e +set -ex -CONDA_VERSION=4.2.12 +cd $(dirname $0) +CONDA_VERSION=4.3.14 URL="https://repo.continuum.io/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh" -INSTALLER_PATH=/usr/local/sbin/miniconda-installer +INSTALLER_PATH=/tmp/miniconda-installer.sh wget --quiet $URL -O ${INSTALLER_PATH} chmod +x ${INSTALLER_PATH} # Only MD5 checksums are available for miniconda # Can be obtained from https://repo.continuum.io/miniconda/ -MD5SUM="d0c7c71cc5659e54ab51f2005a8d96f3" +MD5SUM="fc6fc37479e3e3fcf3f9ba52cae98991" if ! echo "${MD5SUM} ${INSTALLER_PATH}" | md5sum --quiet -c -; then echo "md5sum mismatch for ${INSTALLER_PATH}, exiting!" exit 1 fi -${INSTALLER_PATH} -f -b -p ${CONDA_DIR} +bash ${INSTALLER_PATH} -b -p ${CONDA_DIR} # Allow easy direct installs from conda forge ${CONDA_DIR}/bin/conda config --system --add channels conda-forge -# Do not attempt to auto update conda +# Do not attempt to auto update conda or dependencies ${CONDA_DIR}/bin/conda config --system --set auto_update_conda false +${CONDA_DIR}/bin/conda config --system --set update_dependencies false +${CONDA_DIR}/bin/conda config --system --set show_channel_urls true +${CONDA_DIR}/bin/conda env update -n root -f /tmp/environment.yml # Clean things out! ${CONDA_DIR}/bin/conda clean -tipsy diff --git a/singleuser-builder-conda/s2i/bin/assemble b/singleuser-builder-conda/s2i/bin/assemble index bfe78e2c..7a695704 100755 --- a/singleuser-builder-conda/s2i/bin/assemble +++ b/singleuser-builder-conda/s2i/bin/assemble @@ -19,7 +19,8 @@ cp -Rf /tmp/src/. . echo "---> Building application from source..." if [ -f environment.yml ]; then - conda env update -n base -f environment.yml + conda env update -n root -f environment.yml + conda clean -tipsy elif [ -f requirements.txt ]; then pip install -r requirements.txt fi diff --git a/singleuser-builder-conda/s2i/bin/run b/singleuser-builder-conda/s2i/bin/run index db855e17..b56c23fc 100755 --- a/singleuser-builder-conda/s2i/bin/run +++ b/singleuser-builder-conda/s2i/bin/run @@ -7,5 +7,4 @@ # https://github.com/openshift/source-to-image/blob/master/docs/builder_image.md # -source activate base exec jupyter notebook --ip=0.0.0.0 diff --git a/singleuser-builder-conda/version b/singleuser-builder-conda/version index 8c43fb43..027a383a 100644 --- a/singleuser-builder-conda/version +++ b/singleuser-builder-conda/version @@ -1 +1 @@ -v0.1.4 +v0.1.5