File size: 1,240 Bytes
511bc62 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 c0616b4 ea37cb1 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 c0616b4 da5c857 511bc62 c0616b4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#!/bin/bash
# Function to handle errors
handle_error() {
echo "Error: $1"
exit 1
}
# Verify and create the /data directory if it doesn't exist
if [ ! -d "/data" ]; then
mkdir -p /data || handle_error "Could not create /data directory"
echo "/data directory created for persistent storage"
fi
# Verify write permissions for /data directory
if [ ! -w "/data" ]; then
echo "Warning: No write permissions for /data. Some data may not be persistent."
fi
# Read JupyterLab token from HF secret
JUPYTER_TOKEN=$(cat /run/secrets/JUPYTER_TOKEN)
# Verify if the token is empty
if [ -z "$JUPYTER_TOKEN" ]; then
handle_error "JupyterLab token is empty"
fi
# Check for GPU availability
if command -v nvidia-smi &> /dev/null; then
echo "GPU detected. Configuring environment for GPU usage."
export NVIDIA_VISIBLE_DEVICES=all
export NVIDIA_DRIVER_CAPABILITIES=compute,utility
else
echo "No GPU detected. CPU will be used."
fi
# Start JupyterLab in the background
jupyter lab --ip=0.0.0.0 --port=${JUPYTERLAB_PORT} --no-browser --allow-root \
--NotebookApp.token=${JUPYTER_TOKEN} \
--notebook-dir=/data &
# Start Nginx in the foreground
nginx -g "daemon off;" || handle_error "Failed to start Nginx"
|