-
Notifications
You must be signed in to change notification settings - Fork 2
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
base: main
Are you sure you want to change the base?
Conversation
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: |
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.
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. |
Yup I will try to do that
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? |
Sounds great 💯
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 |
On hold until PL has this available |
@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.