malvika2003's picture
Upload folder using huggingface_hub
db5855f verified
#!/bin/bash
set -eo pipefail
set -x
# Generate htdigest password file for webdav access if it doesn't exist.
JUPYTER_ENABLE_WEBDAV=${JUPYTER_ENABLE_WEBDAV:-false}
export HUB_HOME=/tmp
export JUPYTER_ENABLE_WEBDAV
if [ -f /var/run/secrets/kubernetes.io/serviceaccount/namespace ]; then
DEPLOYMENT=`echo $HOSTNAME | sed -e 's/^\(.*\)-[^-]*-[^-]*$/\1/'`
NAMESPACE=`cat /var/run/secrets/kubernetes.io/serviceaccount/namespace`
WEBDAV_REALM=$NAMESPACE/$DEPLOYMENT
else
WEBDAV_REALM=jupyter-on-openshift/jupyter-notebooks
fi
WEBDAV_USERFILE=/opt/app-root/etc/webdav.htdigest
export WEBDAV_REALM
export WEBDAV_USERFILE
if [ ! -f $WEBDAV_USERFILE ]; then
touch $WEBDAV_USERFILE
if [[ ! -z "${JUPYTER_NOTEBOOK_PASSWORD}" ]]; then
DIGEST="$( printf "%s:%s:%s" "jupyter" "$WEBDAV_REALM" "$JUPYTER_NOTEBOOK_PASSWORD" | md5sum | awk '{print $1}' )"
printf "%s:%s:%s\n" "jupyter" "$WEBDAV_REALM" "$DIGEST" >> $WEBDAV_USERFILE
fi
fi
# Pre-clone repositories defined in JUPYTER_PRELOAD_REPOS
if [ -n "${JUPYTER_PRELOAD_REPOS}" ]; then
for repo in `echo ${JUPYTER_PRELOAD_REPOS} | tr ',' ' '`; do
# Check for the presence of "@branch" in the repo string
REPO_BRANCH=$(echo ${repo} | cut -s -d'@' -f2)
if [[ -n ${REPO_BRANCH} ]]; then
# Remove the branch from the repo string and convert REPO_BRANCH to git clone arg
repo=$(echo ${repo} | cut -d'@' -f1)
REPO_BRANCH="-b ${REPO_BRANCH}"
fi
echo "Checking if repository $repo exists locally"
REPO_DIR=$(basename ${repo})
if ! [ -d "${REPO_DIR}" ]; then
GIT_SSL_NO_VERIFY=true git clone ${repo} ${REPO_DIR} ${REPO_BRANCH}
fi
done
fi
# Copy notebooks onto the user volume if they don't exist
if [ -d /opt/app-root/notebooks ] && ! [ -d /opt/app-root/src/openvino_notebooks ]; then
cp -r /opt/app-root/notebooks /opt/app-root/src/openvino_notebooks
fi
# Start the Jupyter notebook instance. Run using supervisord if enabled,
# or it is required by webdav access.
if [ x"$JUPYTER_ENABLE_WEBDAV" == x"true" ]; then
JUPYTER_ENABLE_SUPERVISORD=true
fi
if [[ ! -z "${JUPYTER_ENABLE_SUPERVISORD}" ]]; then
# Startup supervisord against the configuration and keep it in the
# foreground so becomes process ID 1 for the container.
exec /opt/app-root/bin/supervisord --nodaemon \
--configuration /opt/app-root/etc/supervisord.conf
else
. /opt/app-root/bin/start-notebook.sh "$@"
fi