Skip to content
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

Add dockerfile for combined py r image #15

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

joelostblom
Copy link

@joelostblom joelostblom commented Sep 28, 2024

@ZacWarham This image uses both python and R via jupyterlab. I chose to build directly from the jupyter minimal notebook image because of the issues with PL not using their jlab base image PrairieLearn/PrairieLearn#10719. I use conda/mamba to install both R and Py in this image and it's faster than installing R packages from scratch.

I haven't deleted any of the previous image files, because I see that you are doing the hack with manually setting the user to 1001. I'm guessing we will have to do that here to for the images to work on the server, but for now I'm using it for local development where this works. If the PR looks good to you we can merge and I can try on the US server as well.

Long term, maybe having a combined py / r image like this for jupyterlab could be used as the base for multiple courses, which would be easier for maintenance? I guess that is partly what you are doing by setting up the base images already, but I thought there were quite some specific config in the course files although it seemed unrelated to the course itself, like the setting of user e.g.

@joelostblom
Copy link
Author

joelostblom commented Sep 28, 2024

I published this image under my own account and updated the jupyterlab scratchpad to use this instead of the 531-python image. It seems to work fine without any of the tweaks regarding user permissions, do you know why those are needed and if they are actually necessary for anything in particular?

I do see the missing user in terminal, but everything seems to work as expected:

image

@ZacWarham ZacWarham mentioned this pull request Sep 28, 2024
@ZacWarham
Copy link
Collaborator

That is great work getting this setup @joelostblom

Given the comments mentioned in #14 (comment) that I had not realised were already discussed in PrairieLearn/PrairieLearn#10719 (comment) when I had those thoughts, perhaps it is useful to work on something to push upstream in the PL repo that they are comfortable maintaining. Or at the very least have as a baseline for ourselves.

do you know why those are needed and if they are actually necessary for anything in particular?

I think the introduction of issues was when we wanted to enforce autosaving. This is done here by copying in the preference file. This change broke the settings dialogue in JupyterLab and is what required the permission changes in our course images to update them.

Happy to discuss further online or in person about how we want to proceed in these cases.

@joelostblom
Copy link
Author

perhaps it is useful to work on something to push upstream in the PL repo that they are comfortable maintaining.

Yup I will try to do that

I think the introduction of issues was when we wanted to enforce autosaving. This is done here by copying in the preference file.

Maybe an easier solution to this is to copy the file as root and then chown the permissions to 1001 or whatever is required? PL seems to do their copying as root and they don't chown anything after. They also don't change to user 1001 anywhere as we do in our images, so maybe that is not needed at all?

@ZacWarham
Copy link
Collaborator

Yup I will try to do that

Sounds great 💯

an easier solution

There is definitely some overcomplication due to me learning as I go and then getting random fixes to deal with the PL image (and my own problems!). Happy to experiment with these changes once we get a new concrete base sorted

@ZacWarham
Copy link
Collaborator

On hold until PL has this available

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants