issue with running prodigy on GCP

Hello there,

I am having some difficulties running prodigy using jupyterlab on a Vertex-AI virtual machine on GCP (running Debian GNU/Linux 10 (buster) with Jupyter lab version 3.4.8)

What I’ve done sofar :

1- install prodigy

pip install prodigy -f https://[redacted]@download.prodi.gy

2- installed jupyterlab-prodigy and refreshed the virtual machine (it shows correctly)

3 - created a prodigy.json with port : 8888 and host 0.0.0.0

4- went to advanced settings and changed the settings according to step 4

5- prodigy doesn't pop up automatically and when opening it it says “localhost refused to connect.”

hi @MarkAlsa,

Thanks for your question. Sorry about the delay - almost the entire team was on an offsite the last four days and catching up.

Just curious - can you run Prodigy without any jupyterlab extension?

It's not clear to me if the problem is Prodigy or just the jupyterlab extension.

Unfortunately I don't have experience with Vertex-AI but it seems like most of the steps you've done is consistent with previous tickets

Thank you for your reply.

If I run prodigy in a vm without the jupyterlab-prodigy extension installed, I does run but I have no way to access the link that prodigy spits out, e.g. https://0.0.0.0:8888

with regard to the previous ticket you mentioned, I've tried doing that (in step 4) but unfortunately with no success. same error still occurs

Thanks for the update.

I suspect the problem is likely on firewall issues with GCP/Vertex.

You may need to create a VPC to open up the port. It looks like Vertex has some docs on modifying the network settings and even this tutorial too for Vertex Notebooks.

Here are the rough steps (correct me if something is different):

  1. Create a Virtual Private Cloud (VPC): Look for "VPC Network" in the Google Cloud Console and create a VPC
  2. Create and add Firewall Rules: "VPC Network" > "Firewall rules" and specify the IP address (0.0.0.0) and the port (e.g., 8888).
  3. Apply the Firewall Rule to your instance.

Just know, that allows traffic from "0.0.0.0/8888" and can pose security risks. You may want to look into more secure authorization controls. At a minimum, Prodigy provides some basic auth with PRODIGY_BASIC_AUTH_USER and PRODIGY_BASIC_AUTH_PASS.

Does this help or work?