Skip to content

Conversation

@liuji1031
Copy link

Summary:
Enable Superset to run under JupyterHub's dynamic per-user URL prefixes (e.g., /user/username/).

Backend:

  • Inject JUPYTERHUB_SERVICE_PREFIX into bootstrap data for frontend consumption
  • Prefix user menu URLs (Info, Logout) that bypass Flask's url_for()
  • Handle prefixed redirects in login flow with proper next parameter support

Frontend:

  • Configure SupersetClient with application_root from bootstrap data
  • Use SupersetClient.getUrl() for dataset creation navigation links

Deployment:

  • Works with jhsingle-native-proxy (strips incoming prefix, preserves in responses via middleware)
  • Compatible with Flask dev server for single-user container deployments

@liuji1031 liuji1031 marked this pull request as draft January 28, 2026 20:17
@liuji1031 liuji1031 changed the base branch from master to notebookshub January 28, 2026 22:20
@liuji1031 liuji1031 marked this pull request as ready for review January 30, 2026 17:24
@sunnielyu sunnielyu changed the base branch from notebookshub to master January 30, 2026 18:20
@liuji1031 liuji1031 closed this Jan 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant