# Jupyter Notebook on Remote Computer
- Try this new server from uc davis first: https://video.ucdavis.edu/media/t/1_5h2fi1wh
The below uses the mambaforge installation of conda.
First, create a mamba environment containing jupyter notebook:
```
mamba create -y -n jup notebook nb_conda_kernels
```
Activate it:
```
mamba activate jup
```
Set a password:
```
jupyter notebook password
```
Create a script ```run-jupyter-on-node.sh``` containing:
```
#! /bin/bash -eu
# initialize conda
conda_base=$(conda info --base)
. ${conda_base}/etc/profile.d/conda.sh
# activate relevant environment - CUSTOMIZE ME
conda activate jup
### pick a port
read LOWERPORT UPPERPORT < /proc/sys/net/ipv4/ip_local_port_range
port="$(shuf -i $LOWERPORT-$UPPERPORT -n 1)"
while :; do
netstat -taln | egrep ":$port.*LISTEN" || break
port="$(shuf -i $LOWERPORT-$UPPERPORT -n 1)"
done
### print out stuff
cat <<EOF
You need to use SSH tunneling to port forward from your desktop to Jupyter Lab.
Run the following command in a new terminal on your machine:
ssh -L${port}:${HOSTNAME}:${port} $USER@farm.cse.ucdavis.edu -N
Then point your browser to http://localhost:${port}
EOF
### run me!
jupyter notebook --no-browser --ip=${HOSTNAME} --port=${port}
```
and then run with srun:
```
srun -p high2 --time=5:00:00 --nodes=1 \
--cpus-per-task 4 --mem 64GB \
--pty bash ./run-jupyter-on-node.sh
```