rstudio / rstudio-docker-products

Docker images for RStudio Professional Products
https://hub.docker.com/u/rstudio
MIT License
66 stars 56 forks source link

JupyterLab doesn't load in GCP Cloud Workstations image #517

Closed blairj09 closed 1 year ago

blairj09 commented 1 year ago

When launching JupyterLab from the GCP Cloud Workstations image, a blank page with a small Jupyter logo in the upper left-hand corner is the only thing that loads: image

ianpittwood commented 1 year ago

I'm fairly certain this is an issue with whatever distributes the static content for workbench. I thought to check the console on my browser and found a slew of JS errors (see attached).

gcw-jupyterlab-js-console-logs041123.txt

ianpittwood commented 1 year ago

I've still been unable to figure this out. I'm still thinking this is a problem caused by the URL redirects GCW is using with our Workbench container interfering with our ability to serve static content and make API calls. I've tried the following so far:

The only instance in which Jupyter Lab functioned correctly was when I port forwarded localhost:8080 to the Jupyter Lab instance. When all the server calls run through localhost or 127.0.0.1, everything seems to work fine so I would assume the installation is correct and working. Something in the configuration of Jupyter Lab is causing it not to serve correctly when accessed through the GCW URL.

Out of curiosity, I also tried port forwarding all of Workbench for GCW to localhost:8080 and Jupyter Lab still worked that way too.

ianpittwood commented 1 year ago

Through more digging, we found that this is some sort of collision between Jupyter Lab's auth and GCW's auth. By setting --LabApp.token="", we were able to successfully start a one-off session of Jupyter Lab in GCW. Unfortunately, more work will be required as the same flag causes Workbench to hang on STARTING when launching Jupyter Lab.

ianpittwood commented 1 year ago

rstudio/rstudio-pro#4568 fixed the problems with Workbench hanging on startup with the --LabApp.token="" flag set. We'll need to use a pre-release build of some sort in the intervening time before the next release or patch release.

blairj09 commented 1 year ago

Confirmed JupyterLab is working in ianprstudio/gcw-workbench:2022.03.0-6

ianpittwood commented 1 year ago

While this has been temporarily fixed by using a daily build, the Workbench team expects to backport the fix for this issue to 2023.03.0. We can close this once the fix is backported and implemented in the image.

ianpittwood commented 1 year ago

2023.03.1 was successfully implemented on Friday (5/19). JupyterLab was confirmed working and I haven't received any additional reports of problems.