You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.0 KiB

title
Installation notes

Tinc

Installed tinc following pzwiki guide!

NGINX config

sudo apt install nginx

Added user directories to nginx setup

	# enable home directories ... eg ~USER/ => /home/USER/public_html/index.html
	location ~ ^/~(.+?)(/.*)?$ {
            alias /home/$1/public_html$2;
	    index index.html index.htm;
            autoindex on;
        }

Made the /var/www/html folder belong to group users

sudo chgrp users /var/www/html
sudo chmod -R 2775 /var/www/html

NB: The 2 turns on the setGID bit meaning:

newly created subfiles inherit the same group as the directory, and newly created subdirectories inherit the set GID bit of the parent directory.

Reverse proxies for jupyter

        location /lab/mmurtaugh/ {
            proxy_pass http://localhost:9050/;
	        include /etc/nginx/includes/lab.conf;
        }

And made a file for common settings (nb: replace sandbot with correct path):

sudo nano /etc/nginx/includes/lab.conf
rewrite /(.*) /sandbot/$1  break;
error_page 502 /lab/502.html;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;

Jupyter config

First installed pip3 & updated it...

sudo apt install python3-pip
sudo pip3 install --upgrade pip

Then used pip3 to install jupyterlab...

sudo pip3 install jupyterlab

Following this guide, configured my local jupyter to use port 9050, and setup config

To set the password:

python3

from  IPython.lib import passwd
passwd()

Copied by "password hash"

jupyter notebook --generate-config
nano ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.base_url = '/sandbot/lab/mmurtaugh/'
c.NotebookApp.port = 9050
c.NotebookApp.trust_xheaders = True
c.NotebookApp.port_retries = 50
c.NotebookApp.password = 'sha1:PASSWORD_HASH_FROM_ABOVE'
c.NotebookApp.allow_remote_access = True

Followed this tutorial on creating a systemd service. Used my username (and group).

sudo nano /etc/systemd/system/jupyterlab@.service
[Unit]
Description=Jupyter Lab Server (%i)
After=nginx.service

[Service]
User=%i
Group=%i
Type=simple
WorkingDirectory=/home/%i/
ExecStart=/usr/local/bin/jupyter-lab --config=/home/%i/.jupyter/jupyter_notebook_config.py
StandardOutput=null
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Then you can

sudo systemctl enable jupyterlab@mmurtaugh

or

sudo systemctl start jupyterlab@mmurtaugh

and

sudo systemctl status jupyterlab@mmurtaugh