Свой Jupyter Lab без регистрации и SMS

Свой Jupyter Lab без регистрации и SMS

Официальная документация слишком лаконичная. Поэтому ниже опишу как в 2025-м году пройти весь процесс установки в Ubuntu 22.04/Python 3.12

Осознанно пропускаем стадию создания virtual enviroment. 

 sudo pip3 install --break-system-packages jupyterlab

Если возникает ошибка при установке с помощью pip, то читаем эту статью. На момент написания этой статьи конфликтовал только пакет - python3-jsonschema. Если вы его удалите и поставите после установки jupyterlab, ничего страшного не произоедет.

sudo apt remove python3-jsonschema

После установки создаем конфиг

jupyter-lab --generate-config

Пишем пароль в файл:

jupyter-lab password

В конфиге устанавливаем переменные:

c.ServerApp.ip = 'localhost'
c.ServerApp.open\_browser = False 
c.ServerApp.allow\_remote\_access = True
c.ServerApp.allow\_credentials = False
c.ServerApp.password\_required = True

# Generated password from file - jupyter\_lab\_config.py
c.ServerApp.password='argon2:$argon2id$v=19$m=10240,t=10,p=8$zf0ZE2UkNLJK39l8dfdgHA$0qIAAnKiX1EgzFBbo4yp8TgX/G5GrEsV29yjHVUDHiQ'
c.ServerApp.port = 8888
c.ServerApp.root\_dir = "/var/some\_dir/notebooks"

Все параметры конфига можно вывести командой:

python -m jupyterlab_server --help-all

Ставим Apache web server и необходимые модули:

sudo apt install apache2 sudo a2enmod proxy proxy_http proxy_wstunnel sudo a2enmod ssl rewrite proxy headers sudo systemctl restart apache2

Настраиваем virtual host:

<VirtualHost \*:80>

    ServerName jupyter.domain.ru
    RewriteEngine On
    RewriteCond %{HTTP:Connection} Upgrade \[NC\]
    RewriteCond %{HTTP:Upgrade} websocket \[NC\]
    RewriteRule /(.\*) ws://127.0.0.1:8888/$1 \[P,L\]

    <Location "/">
    ProxyPreserveHost on
    ProxyPass         http://127.0.0.1:8888/
    ProxyPassReverse  http://127.0.0.1:8888/
    RequestHeader     set "X-Forwarded-Proto" expr=%{REQUEST\_SCHEME}
    </Location>
    #ProxyPass /api/kernels/ ws://localhost:8888/api/kernels/
    #ProxyPassReverse /api/kernels/ http://localhost:8888/api/kernels/

</VirtualHost>

Запускаем сервер:

jupyter lab --allow-root --config="/root/.jupyter/jupyter_notebook_config.py" &

Как прописать сервис в автозагрузку описано тут.

Ссылки

https://www.atlantic.net/dedicated-server-hosting/how-to-install-jupyter-lab-on-ubuntu-22-04/