jupyter-on-openshift / jupyterhub-quickstart

OpenShift compatible version of the JupyterHub application.
Apache License 2.0
102 stars 107 forks source link

jupyterlab support? #5

Closed magick93 closed 6 years ago

magick93 commented 6 years ago

Hello

I apologise for posting these general questions in perhaps the wrong location.

Does this project currently support jupyterlabs on openshift? Is support for jupyterlabs on your roadmap?

Thanks and regards

GrahamDumpleton commented 6 years ago

If you use the official Jupyter project docker-stacks images as explained in README, you can add:

c.KubeSpawner.environment = { 'JUPYTER_ENABLE_LAB': 'true' }

or:

environment = { 'JUPYTER_ENABLE_LAB': 'true' }

if adding it as part of the dict in the ProfilesSpawner config when listing multiple images, to enable JupyterLab user interface.

For the images built from jupyter-notebooks repo here, the environment variable currently needs to beJUPYTER_INTERFACE_TYPE=lab. I should change this to align with what docker-stacks uses to enable them. I only learn't about the environment variable in start-singleuser.sh of docker-stacks repo in last week or so.

Anyway, the answer is yes, it is possible to enable JupyterLab interface, but I will change the environment variable I use. Will try and do that in next day or so.

magick93 commented 6 years ago

Fantastic! Thanks

On 24 February 2018 at 11:30, Graham Dumpleton notifications@github.com wrote:

If you use the official Jupyter project docker-stacks images as explained in README, you can add:

c.KubeSpawner.environment = { 'JUPYTER_ENABLE_LAB': 'true' }

or:

environment = { 'JUPYTER_ENABLE_LAB': 'true' }

if adding it as part of the dict in the ProfilesSpawner config when listing multiple images, to enable JupyterLab user interface.

For the images built from jupyter-notebooks repo here, the environment variable currently needs to beJUPYTER_INTERFACE_TYPE=lab. I should change this to align with what docker-stacks uses to enable them. I only learn't about the environment variable in start-singleuser.sh of docker-stacks repo in last week or so.

Anyway, the answer is yes, it is possible to enable JupyterLab interface, but I will change the environment variable I use. Will try and do that in next day or so.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/jupyter-on-openshift/jupyterhub-quickstart/issues/5#issuecomment-368157327, or mute the thread https://github.com/notifications/unsubscribe-auth/ACEpHXBsAKWzilr-VcB1zP9cYl-WYAuKks5tXzwegaJpZM4SRjJs .

GrahamDumpleton commented 6 years ago

Is not simple unfortunately. The Jupyter project docker-stacks images work okay, but not the ones created using S2I process. I had to disable the JupyterLab stuff at some point because it wouldn't install any more, just found that out. Having trouble working out to get it install. Problem is that the JupyterLab extensions want to run npm to install stuff, but that fails because cairo package is not available, even though it isn't meant to fail on it as it is an optional package. So still digging into what needs to be done.

GrahamDumpleton commented 6 years ago

The reason it fails to install is because node memory usage is rediculous and it requires more than 2GB when running webpack. I am setting up the build so installation can be enabled using a build time enviromment variable if the maximum memory allowed for builds can be increased beyond 2GB. This can't be done on OpenShift Online. I will verify it works on Minishift.

magick93 commented 6 years ago

What version of node are you using?

GrahamDumpleton commented 6 years ago

The S2I images for OpenShift supply:

$ node --version
v6.11.3
GrahamDumpleton commented 6 years ago

The images in:

have been updated with support for JupyterLab interface, but you have to set an environment variable to have extension added to image when it is built. This is because requires too much memory.

Details of doing that and then also enabling it for the deployment of the image are explained in the README.

I have also added details in:

for how to enable it when using JupyterHub.