-
Notifications
You must be signed in to change notification settings - Fork 321
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
Multiple instructors documentation #1176
Comments
I notice this:
You should I guess you know the way most people do this is https://github.com/jupyterhub/jupyterhub/tree/master/examples/service-notebook ? |
@rkdarst Thanks for pointing that out. I have tried to setup the shared-notebook service method, but that does not work either. I will post my instructions in the next post. |
Here are my instructions for setting up a shared-notebook service. I cannot seem to get this working also. When I log in as
Can anyone please review my instructions to see what I am doing wrong. Installing JupyterHub with Nbgrader for multiple instructors using Shared ServicesStarting with a new ubuntu1804 instanceSetup Jupyterhubsudo apt-get update
sudo apt-get -y install npm
sudo npm install -g configurable-http-proxy
sudo apt-get -y install python3-pip
sudo pip3 install jupyterhub
sudo mkdir -p /etc/jupyterhub/
cd /etc/jupyterhub/
sudo openssl req -x509 -newkey rsa:2048 -keyout jupyterhub_key.pem -out jupyterhub_cert.pem -days 365 -nodes Setup Jupyterhub config
Add the following to the config file:
Create Jupyterhub service
Add the following to the file:
Enable Jupyterhub servicesudo systemctl daemon-reload
sudo systemctl start jupyterhub Check that the website works. Setup grader, instructor, and student users and an instructor groupAdd one (1) grader account sudo adduser grader Add two (2) instructor accounts sudo adduser instructor1
sudo adduser instructor2 Add two (2) student accounts sudo adduser student1
sudo adduser student2 Add instructors group sudo addgroup instructors Add all three instructors to instructors group sudo usermod -a -G instructors grader
sudo usermod -a -G instructors instructor1
sudo usermod -a -G instructors instructor2
Install Nbgradercd /tmp
git clone https://github.com/jupyter/nbgrader.git
cd nbgrader
sudo pip3 install -e . Add a
|
From reading through your setup it's not immediately clear what is wrong. Logs would really help if you can figure out how to get JupyterHub to log them for single user services (I unfortunately don't remember off the top of my head). I can try to have a closer look this weekend. |
I enabled logging by adding the following to jupyterhub_config.py
Then I ran the notebook using Contents of log.txt
|
Thanks for the logs! I noticed these lines:
Which makes it sound like port 443 is already in use. And I re-checked your config and it indeed looks like you're setting port 443 both for the main JupyterHub instance and for the testcourse service. Can you try using different ports there and see if it works? |
Hello Jessica! Thank you so much for helping me out! I started from scratch again, so I am using the latest master branch (5bc6f37). I have updated my jupyterhub_config to as follows:
I still cannot get instructor1 to access the formgrader. I think the relevant error message is Should I put the course folder somewhere else on the system? Contents of
The full log is as follows:
|
Yes, as the error messages says, the course directory must be in the same folder (or in a subdirectory) of the place where the notebook server is being run. If your course directory is in However, to have your course directory in a global location like Also, I just added a working demo of how to configure nbgrader to work in the standard case of one class with multiple graders, which is available here and which might help: https://github.com/jupyter/nbgrader/tree/master/demos |
Hello Jessica! Thank you so much for putting together the demo! I have figured out what I was doing wrong.
I am using Ubuntu 18.04.3 LTS. I had to make the following changes to the demo files:
Here are the changes I made.
Thanks again! |
Oh great, I'm so glad the demo helped! Thanks for pointing out that you need to specifically use python 3---I think on my server I installed python 3 a long time ago and symlinked it to |
Yes. I can make PR with the changes. |
I have opened a new issue for making these changes (#1261), and will close this one. |
I followed the thread on PR#1000 and could not setup the multiple instructors scenario with course folder located in /course. Here is my attempt to document how to setup multiple instructors from scratch. What have I missed?
Installing JupyterHub with Nbgrader for multiple instructors and one student
Starting with a new ubuntu1804 instance
Setup Jupyterhub
Create
/etc/jupyterhub/jupyterhub_config.py
and add:sudo vim /etc/jupyterhub/jupyterhub_config.py
Create
/etc/systemd/system/jupyterhub.service
and add:sudo vim /etc/systemd/system/jupyterhub.service
Check that the website works.
Setup users
Add two instructors
Add one student
Add group
sudo addgroup instructors
Setup Nbgrader -- checkout PR # 1000
As instructor1 create
.jupyter/nbgrader_config.py
:mkdir .jupyter
sudo vim .jupyter/nbgrader_config.py
add the following to the fileAs root user:
sudo mkdir /etc/jupyter
As root create
vim /etc/jupyter/nbgrader_config.py
and add the following:Log in as instructor1 and enable all the extensions:
Log in as instructor2 and enable all the extensions:
As root user enable the following extensions system-wide
sudo systemctl restart jupyterhub
The text was updated successfully, but these errors were encountered: