#!/bin/bash JUPYTER_TOKEN="${JUPYTER_TOKEN:=huggingface}" NOTEBOOK_DIR="/data" # Download notebook from URL if provided if [ -n "$NOTEBOOK_URL" ]; then # Extract filename from URL FILENAME=$(basename "$NOTEBOOK_URL") # Handle GitHub raw URLs if [[ "$NOTEBOOK_URL" == *"github.com"* && "$NOTEBOOK_URL" != *"raw.githubusercontent.com"* ]]; then # Convert GitHub URL to raw URL RAW_URL=$(echo "$NOTEBOOK_URL" | sed 's|github.com|raw.githubusercontent.com|' | sed 's|/blob/|/|') wget -O "$NOTEBOOK_DIR/$FILENAME" "$RAW_URL" else wget -O "$NOTEBOOK_DIR/$FILENAME" "$NOTEBOOK_URL" fi echo "Downloaded notebook: $FILENAME" else echo "No NOTEBOOK_URL provided. Using existing notebooks in the repository." fi jupyter labextension disable "@jupyterlab/apputils-extension:announcements" jupyter-lab \ --ip 0.0.0.0 \ --port 7860 \ --no-browser \ --allow-root \ --ServerApp.token="$JUPYTER_TOKEN" \ --ServerApp.tornado_settings="{'headers': {'Content-Security-Policy': 'frame-ancestors *'}}" \ --ServerApp.cookie_options="{'SameSite': 'None', 'Secure': True}" \ --ServerApp.disable_check_xsrf=True \ --LabApp.news_url=None \ --LabApp.check_for_updates_class="jupyterlab.NeverCheckForUpdate" \ --notebook-dir=$NOTEBOOK_DIR