From 1f65074684666db3d5a814fa4c62bd3bef7becc6 Mon Sep 17 00:00:00 2001
From: DerGrumpf
Date: Tue, 16 Sep 2025 11:10:19 +0200
Subject: [PATCH] Added: Ngshare as managed Service
---
jupyterhub/Dockerfile | 2 ++
jupyterhub/jupyterhub_config.py | 16 ++++++++++++++--
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/jupyterhub/Dockerfile b/jupyterhub/Dockerfile
index 1007ee1..ead7e15 100644
--- a/jupyterhub/Dockerfile
+++ b/jupyterhub/Dockerfile
@@ -24,6 +24,8 @@ RUN pip install --no-cache-dir \
jupyterhub-nativeauthenticator \
jupyterhub-dummyauthenticator \
nbgrader \
+ ngshare \
+ ngshare-exchange \
psycopg2-binary
RUN mkdir -p /srv/nbgrader \
diff --git a/jupyterhub/jupyterhub_config.py b/jupyterhub/jupyterhub_config.py
index 3630b5a..063575f 100644
--- a/jupyterhub/jupyterhub_config.py
+++ b/jupyterhub/jupyterhub_config.py
@@ -158,11 +158,22 @@ c.JupyterHub.allow_named_servers = True
c.JupyterHub.named_server_limit_per_user = 3
+# ngshare
+c.JupyterHub.services.append(
+ {
+ "name": "ngshare",
+ "url": "http://127.0.0.1:10101",
+ "command": ["python3", "-m", "ngshare", "--admins", "admin"],
+ }
+)
+
+"""
# NBgrader
nbgrader_exchange_dir = "/srv/nbgrader/exchange"
-"""c.JupyterHub.services = [
+
+c.JupyterHub.services = [
{
"name": "nbgrader-formgrader",
"url": "http://127.0.0.1:9999",
@@ -195,7 +206,7 @@ c.DockerSpawner.environment = {
"NBGRADER_EXCHANGE_DIRECTORY": nbgrader_exchange_dir,
"NBGRADER_CACHE_DIRECTORY": "/home/jovyan/.cache/nbgrader",
"NBGRADER_CONFIG_FILE": "/home/jovyan/.jupyter/nbgrader_config.py",
-}"""
+}
# Configure NBgrader to use the same PostgreSQL database
c.NbGrader.db_url = f"postgresql://{p_user}:{p_pass}@{p_host}:5432/{p_db}"
@@ -211,3 +222,4 @@ c.Exchange.course_id = os.environ.get("NBGRADER_COURSE_ID", "default_course")
# Formgrader configuration
c.FormgradeApp.authenticator_plugin_class = "nbgrader.auth.JupyterHubAuthPlugin"
c.FormgradeApp.base_url = f"{base_url}services/nbgrader-formgrader/"
+"""