Jupyter

From FlowerHouseWiki
Juypter.png

Network


IP: 192.168.88.18
MAC: 6A:1B:42:9D:D6:4B
Domain: jupyter.flowerhouse.at

System


OS: Debian Bullseye
RAM: 4096MB
Cores: 4
Privileged: No

The Jupyter-LXC is reachable under 192.168.88.18 which is located in the ServerVLAN.

The subdomain is jupyter.flowerhouse.at which is handled by the ReverseProxy.

Basic Setup

Installation

Install required packages

apt install python3-pip npm

Install JupyterHub, responsible for managing multiple users

python3 -m pip install jupyterhub

Install Proxy needed by JupyterHub

npm install -g configurable-http-proxy

Install webinterface and notebook

python3 -m pip install jupyterlab notebook

Configuration

Create config file

Create folder for config

mkdir /etc/jupyterhub

Generate config file

jupyterhub --generate-config -f /etc/jupyterhub/jupyterhub_config.py

Create systemd service

Create service file

nano /etc/systemd/system/jupyter.service

Add this content to file

[Unit]
Description=Jupyterhub
After=syslog.target network.target

[Service]
User=root
Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/anaconda3/bin"
ExecStart=jupyterhub -f /etc/jupyterhub/jupyterhub_config.py

[Install]
WantedBy=multi-user.target

Reload systemd

systemctl daemon-reload

Start Jupyter and check if its running

systemctl start jupyter
systemctl status jupyter

Start Jupyter at boot

systemctl enable jupyter

Create/Add user

Create new user

adduser [username]

Extensions/Kernels

SageMath

Install SageMath Kernel

apt install sagemath

MatLab

Install MatLab

Mount iso from USB via Proxmox to LXC

mount -o loop,ro /media/sda/MatLab/Matlab910R2021a_Lin64.iso /rpool/data/subvol-111-disk-0/mnt

Create installation procedure file and add this

nano /input.txt

Start installation with:

cd /mnt
./install -inputFile /input.txt

Check log if installation was successful

nano ./InstallMatLab.log

Delete log

rm ./InstallMatLab.log

Unmount ISO in ProxMox

umount /rpool/data/subvol-111-disk-0/mnt

Open .bashrc

nano /etc/bash.bashrc

Add to end of file

export MATLAB_ROOT_DIR="/usr/local/Polyspace/R2021a"

Apply changes by executing the command

source /etc/bash.bashrc

Check if if works:

echo $MATLAB_ROOT_DIR

Install Python-3.8

Download Python-3.8

wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz
tar -xf Python-3.8.12.tar.xz
rm Python-3.8.12.tar.xz
mv Python-3.8.12 /opt/Python-3.8.12

Install requirements

apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev -y

Configure

cd /opt/Python-3.8.12
./configure --enable-optimizations --enable-shared

Compile Python-3.8, x = CPU Cores to use

make -j x

Install Python

make altinstall

Delete compile files

cd ..
rm -r Python-3.8.12

Configure dynamic linker

ldconfig /usr/local/lib

Install Kernel

Enter environment folder

cd /home/venv

Create environment with Python-3.8

python3.8 -m venv MatLab

Activate environment

source MatLab/bin/activate

Install MatLab Kernel

pip install matlab_kernel
python -m matlab_kernel install

Install MatLab Python API

cd $MATLAB_ROOT_DIR/extern/engines/python
python setup.py install

C++

Install Miniconda

Download install script

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

Run install script and reboot

bash Miniconda3-latest-Linux-x86_64.sh

Add Environment variable

echo "export PATH=$PATH:~/miniconda3/bin">> ~/.bashrc

Reload shell

source ~/.bashrc

Update conda

conda update --all

Install Xeus-Cling

Install xeus-cling

conda install xeus-cling -c conda-forge

Add kernel

Add C++11 kernel

jupyter kernelspec install ~/miniconda3/share/jupyter/kernels/xcpp11

Add C++14 kernel

jupyter kernelspec install ~/miniconda3/share/jupyter/kernels/xcpp14

Add C++17 kernel

jupyter kernelspec install ~/miniconda3/share/jupyter/kernels/xcpp17

Restart Jupyter

systemctl restart jupyter

AI

Create environment

Install venv

apt install python3-venv

Create folder where environment should be located at

mkdir /home/venv
cd /home/venv

Create Keras-Environment

python3 -m venv Keras

Activate environment

cd /home/venv
source Keras/bin/activate

Install iPython Kernel

pip install ipykernel matplotlib

Add virtual environment to jupyter

python -m ipykernel install --name=Keras

Deactivate with:

deactivate

Tensorflow

Activate environment

cd /home/venv
source Keras/bin/activate

Install tensorflow

pip install tensorflow

Verify tensorflow installation:

pip show tensorflow

Update tensorflow with

pip install --upgrade tensorflow

Deactivate with:

deactivate

Keras

Activate environment

cd /home/venv
source Keras/bin/activate

Install Keras

pip install keras

Verify Keras installation:

pip show keras

Update Keras with

pip install --upgrade keras

Deactivate with:

deactivate

Sources