diff --git a/vre/jupyterhub/jupyterhub_config.py b/vre/jupyterhub/jupyterhub_config.py index 14328ff0..068ce663 100644 --- a/vre/jupyterhub/jupyterhub_config.py +++ b/vre/jupyterhub/jupyterhub_config.py @@ -1,6 +1,6 @@ # JupyterHub configuration for Smart City VRE # Uses NativeAuthenticator with LocalProcessSpawner -# Build: 2026-06-01-0915 +# Build: 2026-06-01-1600 import sys as _sys @@ -10,15 +10,17 @@ c.JupyterHub.hub_ip = '0.0.0.0' # Authenticator: Native (username/password signup + login) c.JupyterHub.authenticator_class = 'nativeauthenticator.NativeAuthenticator' -c.Authenticator.admin_users = {'admin'} +c.Authenticator.admin_users = {'admin', 'eric'} c.Authenticator.allow_all = True -# Spawner: Simple local spawner (single-node, shared environment) -c.JupyterHub.spawner_class = 'simple' +# Spawner: LocalProcessSpawner +# Note: SimpleLocalProcessSpawner doesn't pass JUPYTERHUB_SERVICE_URL correctly +# in JupyterHub 5.3.0. LocalProcessSpawner handles this properly. +c.JupyterHub.spawner_class = 'localprocess' c.Spawner.cmd = ['jupyterhub-singleuser'] c.Spawner.default_url = '/lab' c.Spawner.start_timeout = 300 -c.Spawner.http_timeout = 120 +c.Spawner.http_timeout = 300 # Database and cookies - use absolute path (4 slashes!) c.JupyterHub.cookie_secret_file = '/srv/jupyterhub/jupyterhub_cookie_secret'