12: 2021-08-02 (月) 09:58:28 iseki |
現: 2021-08-30 (月) 00:44:38 iseki |
| -- こいつの書き換えは必須! | | -- こいつの書き換えは必須! |
| #br | | #br |
- | * Moodle & JupyterHub 連携 [#t72c88ce] | + | *** [[Moodle+JupyterHub]] に統合 [#l139818b] |
- | | + | |
- | ** INSTALL [#qb9768b3] | + | |
- | | + | |
- | *** [[Anaconda]] [#jb987bc7] | + | |
- | #br | + | |
- | | + | |
- | *** [[JupyterHub]]/[[DockerSpawner>JupyterHub/DockerSpawner]] [#z52a6900] | + | |
- | (base) # conda create -n jupyterhub python=3.8 -y | + | |
- | (base) # conda activate jupyterhub | + | |
- | (jupyterhub) # conda install -c conda-forge notebook -y | + | |
- | (jupyterhub) # conda install -c conda-forge jupyterlab -y | + | |
- | (jupyterhub) # conda install -c conda-forge jupyterhub==1.4.2 -y | + | |
- | (jupyterhub) # conda install -c conda-forge voila -y | + | |
- | (jupyterhub) # conda install jupyter_client -y | + | |
- | (jupyterhub) # pip --no-cache-dir install git+https://github.com/jupyterhub/dockerspawner.git | + | |
- | #br | + | |
- | | + | |
- | *** [[Docker]] ([[CentOS8]]) [#o38fddf3] | + | |
- | (base) # dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo | + | |
- | (base) # dnf -y install docker-ce docker-ce-cli containerd.io --nobest --allowerasing | + | |
- | (base) # systemctrl enable docker | + | |
- | (base) # systemctrl start docker | + | |
- | (base) # docker pull jupyterhub/singleuser | + | |
- | (base) # docker pull jupyter/datascience-notebook | + | |
- | #br | + | |
- | | + | |
- | **** Docker と Moodleが同じマシンで動いている場合 [#bca29c05] | + | |
- | - Moodle がローカルなら,Moodleの実効ユーザを docker グループに入れればOK | + | |
- | #br | + | |
- | | + | |
- | **** Docker と Moodleが違うマシンで動いている場合 [#v044d897] | + | |
- | - リモートとローカルの unix ソケットファイルを ssh でつなぐ. | + | |
- | -- Docker の動いているマシンで,グループ docker に属するユーザを作成(例えば docker). | + | |
- | --- パスワードを設定しておく.起動シェルは要らない. | + | |
- | ---- # adduser docker -u 105 -g docker -d /var/lib/docker -s /sbin/nologin | + | |
- | ---- # asswd docker | + | |
- | -- Moodle の動いているマシンで以下のコマンドを実行.Moodle | + | |
- | --- ssh -fNL /var/run/mdlds.sock:/var/run/docker.sock docker@202.26.150.55 | + | |
- | --- chgrp apache /var/run/mdlds.sock | + | |
- | --- chmod g+rw /var/run/mdlds.sock | + | |
- | --- コマンド実行時は ''DOCKER_HOST=unix:///var/run/xxx.sock'' または ''docker -H unix:///var/run/mdlds.sock ps'' | + | |
- | --- [[docker_rsock.sh>Docker/docker_rsock.sh]] | + | |
- | #br | + | |
- | | + | |
- | *** [[altfiles>NSS]] [#n90bdca5] | + | |
- | # git clone https://github.com/aperezdc/nss-altfiles.git | + | |
- | # cd nss-altfiles/ | + | |
- | # ./configure --prefix=/usr --datadir=/usr/local/etc --with-type=pwd,grp | + | |
- | # make | + | |
- | # make install | + | |
- | # ln -s /usr/lib/libnss_altfiles.so.2 /usr/lib64/libnss_altfiles.so | + | |
- | # ldconfig | + | |
- | | + | |
- | # cd /usr/local/etc | + | |
- | # wget https://el.mml.tuis.ac.jp/system/passwd | + | |
- | # wget https://el.mml.tuis.ac.jp/system/group (group は 必要な物だけ /etc/group を編集しても良い) | + | |
- | | + | |
- | - /etc/nsswitch.conf | + | |
- | passwd: files altfiles | + | |
- | group: files altfiles | + | |
- | - ユーザアカウントの整合性を取る. | + | |
- | #br | + | |
- | | + | |
- | *** [[LTI>JupyterHub#m4467ad6]] [#g284e3bf] | + | |
- | - pip install jupyterhub-ltiauthenticator | + | |
- | - cd ......./ltiauthenticator | + | |
- | - patch -p1 < ~/mdldockerspawner/ltiauthenticator-1.0.0.path | + | |
- | #br | + | |
- | | + | |
- | *** [[MDLDockerSpawner>JupyterHub/MDLDockerSpawner]] [#s98f7379] | + | |
- | - https://gitlab.nsl.tuis.ac.jp | + | |
- | #br | + | |
- | | + | |
- | **** docker image [#je2a02e3] | + | |
- | - docker build で start.sh を置き換えたイメージを作る. | + | |
- | #br | + | |
- | | + | |
- | *** cull_idle_servers.py [#n8a3f52c] | + | |
- | - 接続の切れた docker コンテナを削除 | + | |
- | - [[cull_idle_servers>JupyterHub/DockerSpawner#zc9428f7]] | + | |
- | - https://github.com/jupyterhub/jupyterhub/tree/a6b7e303df03865d6420f6bccdf627b39f1d0dc1/examples/cull-idle | + | |
- | - DLして /usr/local/bin にコピー | + | |
- | -- wget https://raw.githubusercontent.com/jupyterhub/jupyterhub/a6b7e303df03865d6420f6bccdf627b39f1d0dc1/examples/cull-idle/cull_idle_servers.py | + | |
- | #br | + | |
- | | + | |
- | *** JupyterHub [#h8d86a77] | + | |
- | - mkdir -p /var/lib/jupyterhub/ | + | |
- | - FireWall | + | |
- | -- firewall-cmd --add-port 8000/tcp --permanent | + | |
- | -- firewall-cmd --add-port 9000/tcp --permanent // feserver 用 | + | |
- | -- firewall-cmd --reload | + | |
- | | + | |
- | - vi jupyterhub_config.py | + | |
- | -- IPアドレス,サーバ証明書,Dockerイメージの選択 | + | |
- | #br | + | |
- | ** 起動 [#hccd8a59] | + | |
- | - jupyterhub -f mdldockerspawner/jupyterhub_config.py | + | |
| #br | | #br |