Jupyter
IP: | 192.168.88.18 |
---|---|
MAC: | 6A:1B:42:9D:D6:4B |
Domain: | jupyter.flowerhouse.at |
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
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