2018-06-27 15:41:34 -07:00
|
|
|
#!/usr/bin/bash
|
|
|
|
|
set -exuo pipefail
|
|
|
|
|
|
|
|
|
|
# Set up defaults for configurable env vars
|
|
|
|
|
TLJH_INSTALL_PREFIX=${TLJH_INSTALL_PREFIX:-/opt/tljh}
|
2018-06-29 00:22:50 -07:00
|
|
|
TLJH_INSTALL_PIP_SPEC=${TLJH_INSTALL_PIP_SPEC:-git+https://github.com/yuvipanda/the-littlest-jupyterhub.git}
|
|
|
|
|
TLJH_INSTALL_PIP_FLAGS=${TLJH_INSTALL_PIP_FLAGS:---no-cache-dir}
|
2018-06-27 15:41:34 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
function install_miniconda {
|
|
|
|
|
CONDA_DIR=${1}
|
|
|
|
|
CONDA_VERSION=4.5.4
|
2018-06-29 01:49:28 -07:00
|
|
|
if [ -e ${CONDA_DIR}/bin/conda ]; then
|
|
|
|
|
if [ "$(${CONDA_DIR}/bin/conda -V)" == "conda ${CONDA_VERSION}" ]; then
|
|
|
|
|
# The given ${CONDA_DIR} already has a conda with given version
|
|
|
|
|
return
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
2018-06-27 15:41:34 -07:00
|
|
|
URL="https://repo.continuum.io/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh"
|
|
|
|
|
INSTALLER_PATH=/tmp/miniconda-installer.sh
|
|
|
|
|
|
2018-06-28 18:26:47 -07:00
|
|
|
curl -o ${INSTALLER_PATH} ${URL}
|
2018-06-27 15:41:34 -07:00
|
|
|
chmod +x ${INSTALLER_PATH}
|
|
|
|
|
|
|
|
|
|
# Only MD5 checksums are available for miniconda
|
|
|
|
|
# Can be obtained from https://repo.continuum.io/miniconda/
|
|
|
|
|
MD5SUM="a946ea1d0c4a642ddf0c3a26a18bb16d"
|
|
|
|
|
|
|
|
|
|
if ! echo "${MD5SUM} ${INSTALLER_PATH}" | md5sum --quiet -c -; then
|
|
|
|
|
echo "md5sum mismatch for ${INSTALLER_PATH}, exiting!"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2018-06-28 16:46:25 -07:00
|
|
|
bash ${INSTALLER_PATH} -u -b -p ${CONDA_DIR}
|
2018-06-27 15:41:34 -07:00
|
|
|
|
|
|
|
|
# Allow easy direct installs from conda forge
|
|
|
|
|
${CONDA_DIR}/bin/conda config --system --add channels conda-forge
|
|
|
|
|
|
|
|
|
|
# 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 show_channel_urls true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
HUB_CONDA_DIR=${TLJH_INSTALL_PREFIX}/hub
|
|
|
|
|
install_miniconda ${HUB_CONDA_DIR}
|
|
|
|
|
${HUB_CONDA_DIR}/bin/pip install ${TLJH_INSTALL_PIP_FLAGS} ${TLJH_INSTALL_PIP_SPEC}
|
|
|
|
|
|
|
|
|
|
${HUB_CONDA_DIR}/bin/python3 -m tljh.installer
|