-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install jupyterhub-base
and nodejs
packages instead of jupyterhub
package
#2171
Conversation
ee57935
to
9023751
Compare
Removing nodejs will be a breaking change for some users since it's needed for building custom JupyterLab extensions. For example https://github.com/jupyterhub/jupyter-remote-desktop-proxy/blob/4f68d135bde2bc06dd59762d4c70565c031ac34d/Dockerfile#L60 assumes nodejs is present |
I figure this change should be isolated then, where the removal of nodejs is done separately. |
6107131
to
23edaba
Compare
LGTM You need to add |
23edaba
to
af5e6f9
Compare
af5e6f9
to
3c91604
Compare
It seems that we get a modern nodejs installed now at least, and that configurable-http-proxy isn't added to this image any more.
|
Could you please also update https://github.com/jupyter/docker-stacks/blob/main/docs/using/selecting.md#jupyterbase-notebook? |
I will merge this - I think having the wrong nodejs version might affect some people and cause unexpected results. |
Thank you @mathbunnyru for completing this PR and for the amazing work you do in this project!! |
jupyterhub-base
and nodejs
packages instead of jupyterhub
package
Do I understand it correctly that the new docker image now cannot be used to start jupyterhub out of the box? Previously I could do:
With the new latest image I cannot start jupyterhub any longer:
What is exactly the purpose of |
OK, it looks like
However, the package
So the image cannot be used (out of the box) for starting jupyterhub user servers either? |
Interestingly, the command |
Looks like it is indeed installed by
|
Yes jupyterhub the conda-forge package included configurable-http-proxy and nodeja as dependencies, if you look to use these images to start jupyterhub as a server as well, you can install them on top again |
Sure I can install the full jupyterhub myself. I just I try to understand what is the best strategy of using the docker images to run jupyterhub. I like the idea of removing unnecessary packages. And for the same reason, I probably do not need most of the stuff in |
If you have a jupyterhub version +-1 major version, you should be fine overall i think, keeping things aligned on the minor version is at least more alignment than needed. |
Describe your changes
If you'd do
pip install jupyterhub
, you get the Python package jupyterhub. If you domamba install jupyterhub
however, you also get nodejs and configurable-http-proxy. Those are required if you are to run a jupyterhub server, but isn't required in order to start a jupyter server and establish contact with a jupyterhub server via thejupyterhub-singleuser
command.This PR makes us install
jupyterhub-base
instead, which is more likepip install jupyterhub
as it doesn't bundle with other things to start jupyterhub as a server. To avoid a breaking change, nodejs is now explicitly installed as that could be a used dependency for people and could perhaps benefit from being removed in independent on this change.Related issue
nodejs
was found to be downgraded from a modern version to the very old node 12 within the issue #2170. It seems that its only a dependency forjupyterhub
(and via its dependency onconfigurable-http-proxy
), so by switching to installingjupyterhub-base
, nodejs may not get installed any more.I think if nodejs is wanted, then we should install it directly and not rely on getting it via
jupyterhub
the conda-forge package.Checklist (especially for first-time contributors)