miniforge variant added
This commit is contained in:
parent
fc692afc18
commit
9189c9ecda
|
@ -0,0 +1,139 @@
|
|||
#!/bin/bash
|
||||
|
||||
#variant to use conda insted of pip, tested
|
||||
|
||||
#Src: https://medium.com/swlh/how-to-install-jupyterhub-using-conda-without-runing-as-root-and-make-it-a-service-59b843fead12
|
||||
# https://jupyterhub.readthedocs.io/en/1.2.1/installation-guide-hard.html
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$EUID" -ne 0 ]
|
||||
then echo "Please run as root"
|
||||
exit
|
||||
fi
|
||||
|
||||
CERTIFICATE_HOSTNAME=$1
|
||||
|
||||
if [ -z "$CERTIFICATE_HOSTNAME" ]
|
||||
then
|
||||
echo "Please specify hostname for the certificate generation"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
#apt-get install -y --no-install-recommends libnvinfer7=7.1.3-1+cuda11.0 \
|
||||
# libnvinfer-dev=7.1.3-1+cuda11.0 \
|
||||
# libnvinfer-plugin7=7.1.3-1+cuda11.0
|
||||
|
||||
#add public ssh keys
|
||||
#if [ ! -s "~/.ssh/authorized_keys" ]; then
|
||||
# cat id_*.pub >> ~/.ssh/authorized_keys
|
||||
#fi
|
||||
|
||||
#echo ""
|
||||
#echo "Install supermicro system tools..."
|
||||
#apt-get update
|
||||
#apt-get install -y ipmitool && modprobe ipmi_devintf
|
||||
|
||||
apt-get update
|
||||
apt-get install -y language-pack-de python3.10-venv
|
||||
|
||||
echo "Install a recent notejs for jupyterhub from nodesource..."
|
||||
#src: https://github.com/nodesource/distributions/blob/master/README.md
|
||||
curl -fsSL https://deb.nodesource.com/setup_current.x | bash -
|
||||
apt-get install -y nodejs
|
||||
|
||||
echo "create virtualenv and install JupyterHub..."
|
||||
python3 -m venv /opt/jupyterhub/
|
||||
/opt/jupyterhub/bin/python3 -m pip install wheel
|
||||
/opt/jupyterhub/bin/python3 -m pip install jupyterhub jupyterlab
|
||||
/opt/jupyterhub/bin/python3 -m pip install ipywidgets jupyterlab-git jupyter-server-proxy
|
||||
npm install -g configurable-http-proxy
|
||||
|
||||
echo "setup jupyterhub config..."
|
||||
mkdir -p /opt/jupyterhub/etc/jupyterhub/
|
||||
cp jupyterhub_config_https.py /opt/jupyterhub/etc/jupyterhub/jupyterhub_config.py
|
||||
|
||||
echo "setup systemd service..."
|
||||
mkdir -p /opt/jupyterhub/etc/systemd
|
||||
cp jupyterhub_conda.service /opt/jupyterhub/etc/systemd/jupyterhub.service
|
||||
ln -s /opt/jupyterhub/etc/systemd/jupyterhub.service /etc/systemd/system/jupyterhub.service
|
||||
systemctl daemon-reload
|
||||
systemctl enable jupyterhub.service
|
||||
|
||||
echo "Generate self signed certificate..."
|
||||
mkdir -p /opt/jupyterhub/etc/jupyterhub/ssl-certs
|
||||
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
|
||||
-keyout /opt/jupyterhub/etc/jupyterhub/ssl-certs/jhubssl.key \
|
||||
-out /opt/jupyterhub/etc/jupyterhub/ssl-certs/jhubssl.crt \
|
||||
-subj "/C=DE/ST=NRW/L=na/O=na Systems/OU=Self_Signed/CN=$CERTIFICATE_HOSTNAME" \
|
||||
-addext "subjectAltName=DNS:$CERTIFICATE_HOSTNAME"
|
||||
|
||||
#echo "jupyterhub.service status: (opens vim)"
|
||||
#systemctl status jupyterhub.service
|
||||
|
||||
echo "Install conda..."
|
||||
CONDA_DIR=/opt/conda
|
||||
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
|
||||
bash Miniforge3-$(uname)-$(uname -m).sh -b -p $CONDA_DIR
|
||||
|
||||
#symlinking the conda shell setup script to the profile ‘drop in’ folder so that it gets run on login:
|
||||
ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh
|
||||
|
||||
mkdir -p /opt/conda/envs/
|
||||
|
||||
/opt/conda/bin/conda create --prefix /opt/conda/envs/default_python python=3.7 ipykernel --yes
|
||||
/opt/conda/envs/default_python/bin/python -m ipykernel install --prefix /usr/local/ --name 'default_python' --display-name "Python (default)"
|
||||
|
||||
|
||||
#install ofen used python packages for default environment
|
||||
/opt/conda/bin/conda install h5py tqdm pandas pillow matplotlib ipympl matplotlib pandas numpy --yes -n default_python
|
||||
/opt/conda/bin/conda install cantera --channel cantera --yes -n default_python
|
||||
|
||||
#remove ipykernel for base enviroment:
|
||||
#jupyter kernelspec remove python3
|
||||
|
||||
|
||||
#users have to setup there kernel like this:
|
||||
#create conder enviroment:
|
||||
#conda create ipykernel --name mypersonal_enviroment
|
||||
#python -m ipykernel install --user --name mypersonal_enviroment --display-name "Python My Env"
|
||||
|
||||
|
||||
#conda install --yes jupyterhub jupyterlab notebook configurable-http-proxy jupyterlab-git jupyter-server-proxy
|
||||
#jupyter labextension install jupyter-matplotlib
|
||||
|
||||
#echo "Install Tensorflow..."
|
||||
#conda install --yes tensorflow-gpu -c conda-forge
|
||||
|
||||
#echo "Install common Python libs..."
|
||||
#conda install --yes h5py tqdm pandas ipywidgets pillow matplotlib ipympl opencv-python
|
||||
|
||||
#Other tools:
|
||||
|
||||
#System monitoring
|
||||
#echo "Install netdata..."
|
||||
#wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
|
||||
#echo "nvidia_smi: yes" >> /usr/lib/netdata/conf.d/python.d.conf
|
||||
#service netdata restart
|
||||
#on http://0.0.0.0:19999
|
||||
|
||||
#echo "Install gpuview..."
|
||||
#/opt/jupyterhub/bin/python3 -m pip install gpuview
|
||||
#/opt/jupyterhub/bin/python3 -m gpuview service --host 127.0.0.1 --port 9988 <-- fails
|
||||
|
||||
#echo "Disable services that delays startup by wating for network connectivity..."
|
||||
#systemctl disable cloud-config
|
||||
#systemctl disable cloud-final.service
|
||||
#systemctl disable iscsid.service
|
||||
#systemctl disable open-iscsi.service
|
||||
|
||||
echo "Start JupyterHub..."
|
||||
systemctl start jupyterhub.service
|
||||
#sudo systemctl restart jupyterhub
|
||||
|
||||
echo ""
|
||||
echo "Setup successfully finished"
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue