Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/murat-polat/tutor-contrib-jupyter
Jupyterhub runs as a subdomain of Tutor Open edX, Comes with Pandas, Bokeh, Numpy and other popular libraries. Allows to create multiple users, which has own kernel
https://github.com/murat-polat/tutor-contrib-jupyter
docker edx jitsi-meet jupyter-notebook jupyterhub jupyterlab tutor webrtc
Last synced: about 1 month ago
JSON representation
Jupyterhub runs as a subdomain of Tutor Open edX, Comes with Pandas, Bokeh, Numpy and other popular libraries. Allows to create multiple users, which has own kernel
- Host: GitHub
- URL: https://github.com/murat-polat/tutor-contrib-jupyter
- Owner: murat-polat
- Created: 2021-06-19T09:52:34.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-07-02T22:52:51.000Z (over 2 years ago)
- Last Synced: 2024-10-02T04:41:28.049Z (about 2 months ago)
- Topics: docker, edx, jitsi-meet, jupyter-notebook, jupyterhub, jupyterlab, tutor, webrtc
- Language: Python
- Homepage:
- Size: 9.06 MB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Jupyterhub plugin for Tutor Open edX
- Jupyterhub and JupyterLab runs as a subdomain of Tutor
- Comes with Pandas, Bokeh, Numpy and other popular libraries.
- Allow to create multiple users, which has own kernel
First of all, add an A record with name "jupyter" to your DNS management. Because your JupyterHUB server will be served as a subdomain of your platform.
For example, if your LMS/Domain is https://myopenedx.com, so JupyterHUB server will be https://jupyter.myopenedx.com
### Installation:
`git clone https://github.com/murat-polat/tutor-contrib-jupyter`
`pip3 install -e tutor-contrib-jupyter`
`tutor plugins list`
`tutor plugins enable jupyter`
`tutor config save`
Rebuild your edX platform with plugin and Jupyterhub-XBlock
`tutor images build openedx`
`tutor local quickstart`
### Create multiple Notebook users (Spawners)
Login as a teacher(password: soloadmin) => clik to Control Panel then => Admin
![](/src/adminPanel.jpg)
Here you can add multiple user which is pre installed via the Dockerfile (https://github.com/murat-polat/tutor-contrib-jupyter/blob/master/tutorjupyter/templates/jupyter/build/jupyter/Dockerfile).. By default can be added 100 users(edx0,edx1, edx2..... edx100), which can be populated in user_list.txt file (https://github.com/murat-polat/tutor-contrib-jupyter/blob/master/tutorjupyter/templates/jupyter/build/jupyter/user_list.txt)
Exampel:
We want to add 10 new JupyterLab users. To do that, click to => Add Users button, usernames sparated by lines, then => Add Users.![](/src/add_users.png)
now you have 10 newuser. Username and password is same (e.g. Username: edx10, Password: edx10) here teacher can access all users notebook or other their files.For courses " Student " is common user, but all users can use their own server, doesn't matter. Teacher should be uses for user administrations. Because basic user can not see or edit admin(teacher) files :)
### Video chat with Jitsi (WebRTC):
Login which user do you want, give name to your VideoChat rom, then click to "JOIN" button.
![](/src/jitsi.png)Ask to other paticipants to join your meeting. Link will be same lab, and same rom.
(e.g https://jupyter.yourdomain/user/edx1/lab) login Join the same rom(TestRom)![](/src/jitsi2.png)
### Open edX Studio integration:
Jupyterhub XBlock comes with to main users " student (password: solo) " and " teacher (password: soloadmin) ". You can change password and create mulitable users and administrators, which will be explained soon.
- login to studio as a staff or superuser
- Create a course, than settings=>advanced settings=> Advanced Module List add `"jupyterhub"` and save![](/src/advanced_module.jpg)
- Now you can use JupyterHub as a Unit, for every type of course. But first, you need to edit your JupyterHub (Name, ButtonText, JupyterHub URL, JupyterNotebook URL(you will create this later) and JupyterLab URL )![](/src/edit_studio.jpg)
- You need to create a notebook for students view in your course. To do that click " `Start JupyterHub in new tab`" login as " student " password is "solo". Then New => Python3(ipykernel). dobbel click to "Untitled" and rename it whatever you want.
### JupyterLab:
JupyterLab is next-generations, great advanced tools for everyone. Not just a notebook,that comes with text editor, console, terminal, Jitsi-Meet and much more. For more information please visit https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html
To start JupyterLab just click the " Start JupyterLab in new tab " Now all lab ready for every Hub users.
Now you can write your entire course with Jupyter tools :)
![](/src/Lab.png)
Copy the URL of your notebook and paste in " Edit=> JupyterHub or Lab URL" save and refresh your page. Now your notebook is ready to publish.
![](/src/XblockOverview.jpg)
https://github.com/murat-polat/jupyterhub-xblock