Gesis hub blocks Dask dashboard?

With https://gesis.mybinder.org/v2/gh/dask/dask-examples/master?urlpath=lab, the dask labview plugin does not work and the direct link to the dask dashboard returns a Gesis login screen.

Does this happen for other BinderHubs that serve mybinder.org as well?

This only happens with the Gesis hub. But I think I’ve found what’s wrong here.

While the other hubs serve under https://binder.example.com/user/${JUPYTERHUB_USER}/lab, Gesis goes for https://notebooks.gesis.org/binder/jupyter/user/${JUPYTERHUB_USER}/lab. And the Dask examples binder repo is configured assuming jupyter_server_proxy is at /user/${JUPYTERHUB_USER}/proxy/.

4 Likes

ah - maybe @arnim or @bitnik would want to know about this.

So I guess the issue is that there’s a hard-coded assumption in the dask example repo, moreso than an error in how GESIS is configured, yeah? That said, we should probably encourage some standardization of the URL structure for the federation BinderHubs

2 Likes

Thank you - have seen the report by @willirath :wink:

1 Like

That said, we should probably encourage some standardization of the URL structure for the federation BinderHubs

Not sure about this. Turns out that there’s an env variable for this: $JUPYTERHUB_BASE_URL

2 Likes

@willirath did you resolve it?

Just found this thread and my question is most likely a duplicate of this

I’m not sure if this is resolved. I think the dask/dask-examples repo has the best solution I got for arbitrary hubs and proxied dashboards. So if this is not working, then I don’t have a solution.

I’ve sent a PR to @raybellwaves’ repo that fixes this.

1 Like

To make Dask dashboard work across mybinder and on GESIS (and other arbitrary base URL hubs), the config.yaml in dask/dask-examples needs to be followed for repos with dask dashboard.

The PR https://github.com/raybellwaves/dask-sql-binder/pull/5 should fix this issue in the repo.

4 Likes

Thanks for the fix @willirath. Can see the PR here: https://github.com/raybellwaves/dask-sql-binder/pull/5

FYI. @willirath added the .dask/config.yaml file as
distributed:
dashboard:
link: “{JUPYTERHUB_BASE_URL}user/{JUPYTERHUB_USER}/proxy/{port}/status”

and updated
sed -i -e "s|DASK_DASHBOARD_URL|/user/${JUPYTERHUB_USER}/proxy/8787|g" binder/jupyterlab-workspace.json
to
sed -i -e "s|DASK_DASHBOARD_URL|${JUPYTERHUB_BASE_URL}user/${JUPYTERHUB_USER}/proxy/8787/status|g" binder/jupyterlab-workspace.json

2 Likes