Multi-user Server untuk Jupyter Notebook


Tulisan ini bertujuan untuk meng-install Jupyter Notebook Server untuk banyak pengguna (multiple-user) pada Raspberry Pi 3. Sehingga para user cukup mengakses browser mereka masing-masing untuk menjalan bahasa pemrograman seperti Octave, Julia, C, Ruby, Python dan lain-lain tanpa harus meng-install bahasa pemrograman tersebut pada komputer mereka masing-masing.

Dalam Contoh ini, kita akan menambahkan dua user selain "pi"

pi@raspberrypi:~ $ sudo adduser user1
pi@raspberrypi:~ $ sudo adduser user2


Ada beberapa hal yang perlu dilakukan sebelum menginstall Jupyter dan Jupyterhub.

pi@raspberrypi:~ $ sudo apt-get install python3-pip
pi@raspberrypi:~ $ sudo apt-get install npm nodejs-legacy
pi@raspberrypi:~ $ sudo npm install -g configurable-http-proxy


Install Jupyter Notebook sebagai web aplikasi untuk menjalankan bahasa pemrograman dan install juga Jupyterhub sebagai penyedia Jupyter Notebook untuk masing-masing user.

pi@raspberrypi:~ $ sudo pip3 install jupyter jupyterhub

Semua file yang digunakan oleh Jupyterhub sebaiknya disimpan di unix filesystem.

pi@raspberrypi:~ $ sudo mkdir /etc/jupyterhub
pi@raspberrypi:~ $ cd /etc/jupyterhub/


Terkait keamanan, sebaiknya kita menggunakan SSL encryption (https) untuk menjalan JupyterHub. Untuk itu kita harus membuat SSL certificate seperti pada contoh di bawah menggunakan openssl.

pi@raspberrypi:/etc/jupyterhub $ sudo openssl req -x509 -nodes -newkey rsa:1024 -keyout my.key -out my.cert

Kemudian kita perlu membuat konfigurasi file untuk JupyterHub dan menspefikasikan lokasi dari SSL certificate.

pi@raspberrypi:/etc/jupyterhub $ sudo jupyterhub --generate-config
pi@raspberrypi:/etc/jupyterhub $ sudo nano jupyterhub_config.py


Tambahkan kode lokasi SSL pada file "jupyterhub_config.py", dan juga lupa tentukan port yang ingin kita gunakan misal 443.

c.JupyterHub.ssl_key = './my.key'
c.JupyterHub.ssl_cert = './my.cert'
c.JupyterHub.port = 443


kemudian jalankan JupyterHub di terminal dengan lokasi "/etc/jupyterhub"

pi@raspberrypi:/etc/jupyterhub $ sudo jupyterhub

Buka brower kalian dengan mengetik misal https://192.168.10.101:443 (atau https://{ip address kita}:443), maka kalian akan mendapatkan tampilan seperti di bawah ini.