jupyter / nbgrader

A system for assigning and grading notebooks
https://nbgrader.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
1.3k stars 317 forks source link

very hard time configuring course_id path and exchange directory #1885

Open moctarjallo opened 6 months ago

moctarjallo commented 6 months ago

Configuration feature:

We all the time spend lot of time configuring things that don't always work anytime we setup a new course.

Would you provide a docker image ready to use with all the configurations for example the exchange directory and so on ?

Thanks.

perllaghu commented 6 months ago

A docker image is almost certainly not what you want, in reality.

The default exchange works by users copying files to/from a central directory.... which is essentially saying that all the users are logging into the same computer.

Docker is essentially the opposite of this: every user gets their own computer to work with... so users share no common file-space.

Have a quick look at https://github.com/edina/nbexchange/blob/master/README.md#what-is-nbexchange to see if that helps explain things

moctarjallo commented 6 months ago

But shouldn't it be possible for all users to still connect and login to the same deployed container ?

On Tue, May 21, 2024 at 1:51 PM Ian Stuart @.***> wrote:

A docker image is almost certainly not what you want, in reality.

The default exchange works by users copying files to/from a central directory.... which is essentially saying that all the users are logging into the same computer.

Docker is essentially the opposite of this: every user gets their own computer to work with... so users share no common file-space.

Have a quick look at https://github.com/edina/nbexchange/blob/master/README.md#what-is-nbexchange to see if that helps explain things

— Reply to this email directly, view it on GitHub https://github.com/jupyter/nbgrader/issues/1885#issuecomment-2122687510, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFQRFEOMJ4HXLPM552FNGHLZDNGMZAVCNFSM6AAAAABHRF3NSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRSGY4DONJRGA . You are receiving this because you authored the thread.Message ID: @.***>

perllaghu commented 6 months ago

I think you misunderstand a docker container....

Docker containers are frozen images, designed to me spin up & thrown away.

The amount of additional config you'd need to add to the basic image.... you'd be easier learning how to configure c.Exchange.root

moctarjallo commented 6 months ago

Ok I see.

Thanks for the clarification.

But I once deployed jupyterhub on Google Cloud and installed and configured there nbgrader. Shouldn't that be possible to reproduce using a docker image? I am trying now with kubernetes (minikube to test it out): do you think this would be the right direction?

Thanks again for your help.

On Thu, May 23, 2024 at 12:19 PM Ian Stuart @.***> wrote:

I think you misunderstand a docker container....

Docker containers are frozen images, designed to me spin up & thrown away.

The amount of additional config you'd need to add to the basic image.... you'd be easier learning how to configure c.Exchange.root

— Reply to this email directly, view it on GitHub https://github.com/jupyter/nbgrader/issues/1885#issuecomment-2126967562, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFQRFEIAR7P557J4RY7UTD3ZDXND5AVCNFSM6AAAAABHRF3NSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRWHE3DONJWGI . You are receiving this because you authored the thread.Message ID: @.***>

Adamtaranto commented 5 months ago

I second that. It would be super useful to have a tutorial on setting up nbgrader with a JupyterHub server.

@moctarjallo, not sure if this will help with you specific issue but I have found it useful to include these line in the nbgrader_config.py file as a minimal way to get things running.

import tempfile
c.Exchange.root = tempfile.mkdtemp()
c.CourseDirectory.course_id = 'YOUR_COURSE_ID_HERE'