Closed jeinstei closed 1 year ago
Thanks for reporting. The problem is jupyter isn't configured when sirepo is run that way. That is why you get a 404. If you're curious this https://github.com/radiasoft/sirepo/blob/02accca312b115a60925e09a9090c614314798b6/container-conf/radia-run.sh is the script that get's run. Maybe when sirepo is started in this manner then we should remove jupyter from the list of supported codes?
Since all the other tools seem to run, it really does depend how you want to handle it. I'd personally rather see at least a basic jupyter server with notebooks be available, but I could easily see that increasing the docker size significantly depending on the python environments (pytorch == 1 GB). But if it doesn't start automatically, having it removed from the list would definitely be best from my perspective.
Thanks.
Here are my thoughts on the two options: Running jupyter:
Removing from list of supported codes:
My preference is to disable jupyterhublogin. Running jupyterhub inside of docker is error prone and if users want to see jupyter they can go to sirepo.com/jupyter
curl jupyter.run | bash
@jeinstei did this fix your problem?
Not really -- this is about what exists in the individual docker that is hosted on docker.io, not about modifications needed to make it work. I have a solution that I can run a sirepo docker and a beamsim-jupyter docker separately for any sort of local or demo purposes -- otherwise I'm punting it back to @e-carlin's discussion above
Jupyter is not in Sirepo's docker image by design. The failure you encountered will be fixed by https://github.com/radiasoft/sirepo/issues/4443.
Jupyter is in beamsim-jupyter, which really could be renamed radiasoft/jupyter. It contains Sirepo, but it is for single user jupyter, not JupyterHub.
radiasoft/jupyterhub does contain JupyterHub, but does not contain Sirepo or anything in beamsim.
IOW, starting JupyterHub is outside the scope of any particular image, because it involves starting many services with different images.
I have a solution that I can run a sirepo docker and a beamsim-jupyter docker separately for any sort of local or demo purposes
That's why we provide sirepo.run and jupyter.run. I don't think we want to offer other ways to do this to the general public, because it will become a maintenance headache. Starting the Jupyter Server is changing, and this should be fully encapsulated in jupyter.run.
As a third-party, jupyter.run
is asking me to download a raw binary and run it locally, which I wouldn't be willing to do in terms of security in most cases. I'd much rather a docker for the limited security/containerization it provides.
Maybe I should just make a Dockerfile that just pulls and runs jupyter.run then.
Complete agreement here on the maintenance headache due to the different services. The only thing I've seen that could do similar would be a public k3 or Docker swarm file.
Actually, I'd probably be willing to do it if there was some sort of RSA check on the auto-download. But now we're still in to how to deploy on non-public systems.
As a third-party, jupyter.run is asking me to download a raw binary and run it locally, which I wouldn't be willing to do in terms of security in most cases. I'd much rather a docker for the limited security/containerization it provides.
jupyter.run is a text file, not a raw binary. You can see that by typing curl jupyter.run. You can trace all the steps.
Maybe I should just make a Dockerfile that just pulls and runs jupyter.run then.
jupyter.run wraps a docker pull and run so this actually wouldn't work.
Complete agreement here on the maintenance headache due to the different services. The only thing I've seen that could do similar would be a public k3 or Docker swarm file.
I do not understand the problem you are trying to solve. We have lots of documentation on how to do various things, including running a local Sirepo with JupyterHub.
Actually, I'd probably be willing to do it if there was some sort of RSA check on the auto-download. But now we're still in to how to deploy on non-public systems.
Which non-public systems are we talking about here? I don't know how an RSA check would help with this.
Container Version: Created 2022-05-17T17:54:56.571949063Z
Bug: jupyter sirepo app not in sirepo docker, but other codes seem to open and load fine. Instead receive an error message:
Expected: A jupyter interface when clicking on the jupyter app
Steps to reproduce:
docker pull docker.io/radiasoft/sirepo
docker run --rm -p 8000:8000 -v "$PWD:/sirepo" radiasoft/sirepo
URL in bar: http://localhost:8000/jupyterhublogin