diff --git a/jupyterhub_install.sh b/jupyterhub_install.sh new file mode 100755 index 0000000..87ba08d --- /dev/null +++ b/jupyterhub_install.sh @@ -0,0 +1,68 @@ +#!/bin/bash + +## Define admin user account +export ADMIN_ACCOUNT=sys-admin + +## Define bulk storage location +if [ -z "$ZFS_DIR" ] +then + ZFS_DIR=/data +fi + +## Ensure HOME directories are stored in ${ZFS_DIR}/home +awk '{sub("#HOME=/home","HOME=/home")} {print}' /etc/default/useradd > /tmp/temp.txt && mv /tmp/temp.txt /etc/default/useradd +awk '{sub("# HOME=/home","HOME=/home")} {print}' /etc/default/useradd > /tmp/temp.txt && mv /tmp/temp.txt /etc/default/useradd +awk -v dir=${ZFS_DIR}/home '{sub("HOME=/home","HOME="dir)} {print}' /etc/default/useradd > /tmp/temp.txt && mv /tmp/temp.txt /etc/default/useradd + +# export TLJH_INSTALL_PREFIX=${ZFS_DIR}/tljh +export TLJH_INSTALL_PREFIX=${ZFS_DIR}/jupyter + +sudo ln -s ${TLJH_INSTALL_PREFIX} /opt/tljh + +SYS_MEM=$(grep MemTotal /proc/meminfo | awk '{print $2}') +SYS_CPU=$(grep -c ^processor /proc/cpuinfo) + +JUPYTER_EXTERN_HTTP=15080 +JUPYTER_EXTERN_HTTPS=15443 + +if [ $SYS_MEM -gt 2097152 ] +then + let "SYS_MEM = $SYS_MEM - 1048576" +else + let "SYS_MEM = $SYS_MEM / 2" +fi + +if [ $SYS_CPU -gt 1 ] +then + let "SYS_CPU = $SYS_CPU - 1" +fi + +cat << EOT >> /tmp/requirements.txt +numpy +scipy +matplotlib +pandas +tensorflow +tensorrt +pytorch +torchvision +torchaudio +EOT + +sudo apt install python3 python3-dev git curl +curl -L https://tljh.jupyter.org/bootstrap.py | \ +sudo -E python3 - \ +--show-progress-page \ +--admin ${ADMIN_ACCOUNT}:systemPassword \ +--user-requirements-txt-url /tmp/requirements.txt + +## Edit Jupyter Environment +sudo tljh-config set http.port ${JUPYTER_EXTERN_HTTP} +sudo tljh-config set https.port ${JUPYTER_EXTERN_HTTPS} +sudo tljh-config set limits.memory ${SYS_MEM}K +sudo tljh-config set limits.cpu ${SYS_CPU} +# sudo tljh-config set user_environment.default_app jupyterlab +sudo tljh-config reload proxy +sudo tljh-config reload + +