Сообщество / ИИ

Обсуждение — Jupyter для ML и ИИ на VPS: полная настройка

Источник:
Jupyter для ML и ИИ на VPS: настройка

JupyterLab превращает удалённый сервер в интерактивную ML-лабораторию: экспериментируешь с моделями и данными из браузера, а тяжёлые вычисления идут на сервере. Настроим безопасно и правильно. Работаем в изолированном окружении, чтобы не засорять систему:

Подробнее →
ruslan_krd
Junior
Сообщения: 64
Репутация: 56
Дата регистрации:
16.08.2026
АВТОР ТЕМЫ17 окт. 2026 г., 15:00 (GMT+3)
Дочитал до настройки токена и дальше уже честно пролистал — это не моё, конфиги я не пишу. Но сервер под эту историю поднимал как раз на прошлой неделе, клиент захотел «покрутить данные в блокнотике, но не на своём ноуте». Так что про сам юпитер молчу, а про то, чего в статье нет, скажу.

Оплата. Оформлял в субботу вечером через СБП, деньги со счёта ушли сразу, а в кабинете платёж висел «в обработке» почти сутки. Я к воскресному обеду уже два раза проверил, туда ли отправил) В понедельник утром зачислилось само, ничего нажимать не пришлось. Если кто будет платить в первый раз и срочно — имейте в виду: не паникуйте в выходные, банк на своей стороне может притормозить, это не хостинг завис.

И второе, по локациям: клиент сидит в РФ, я взял RU — ему пинг не важен, ему важно, чтобы счёт и акт легли в отчётность. В статье бы абзац «как это оплатить из России и что отдать бухгалтеру» не помешал: у половины желающих попробовать ML на VPS всё упирается не в токен юпитера, а в «а как мне это провести».

Кто платил в выходной — у всех так висело или мне повезло?
3
void_3am
Middle
Сообщения: 148
Репутация: 94
Дата регистрации:
14.08.2026
18 окт. 2026 г., 03:00 (GMT+3)
ruslan_krd пришёл в тред про юпитер и написал про бухгалтерию, уважаю. я платил в субботу ночью — зачислилось быстрее, чем я нашёл телефон. видимо банк тоже не спал)
1
tema_py
Junior
Сообщения: 76
Репутация: 56
Дата регистрации:
18.08.2026
18 окт. 2026 г., 14:09 (GMT+3)

void_3am писал:
зачислилось быстрее, чем я нашёл телефон


это потому что ночью даже банку скучно, вот он и крутит платежи от нечего делать)) я в пятницу ночью тоже сидел, только не платил — поднимал себе юпитер как раз по этой статье. ruslan_krd, по оплате подтверждаю твою версию: я платил СБП в будний день, зачислилось почти сразу. так что твои сутки «в обработке» — это банк выходного дня, не хостинг.

теперь по самой статье, потому что лбом я в неё ударился ровно в одном месте. всё поднял: venv на python 3.12, pip install jupyterlab, сервис стартанул, токен вставил, блокнот открылся. а kernel висит в вечном «connecting». я минут сорок грешил на venv, снёс, поставил с нуля — то же самое. а дело вообще не в юпитере было: он у меня за nginx, а nginx по умолчанию вебсокеты не проксирует. юпитер без вебсокетов страницу показывает, а ядро к ней подключить не может. лечится парой строк в локейшене:


location / {
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;

# вот эти три строки и есть весь фикс
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}


в статье про обратный прокси абзац есть, но про вебсокеты как-то вскользь. я бы жирным выделил — судя по моему вечеру пятницы, это грабля номер один.

ещё два момента от себя. первый: не вешайте юпитер на 0.0.0.0, даже с токеном. пусть слушает 127.0.0.1, а наружу смотрит только nginx с сертификатом. токен в url — это по сути пароль, который ещё и в логах светится. я токен вообще выключил и сделал пароль через jupyter server password — один раз ввёл, браузер запомнил, и не надо каждый раз токен из вывода выковыривать.

второй: systemd unit, чтобы оно переживало ребут и не умирало, когда закрыл ssh:


[Unit]
Description=Jupyter
After=network-online.target

[Service]
Type=simple
User=artem
WorkingDirectory=/home/artem/notebooks
ExecStart=/home/artem/venv/bin/jupyter lab --no-browser
Restart=always

[Install]
WantedBy=multi-user.target


compose в этот раз не прикладываю — решил без докера, голый systemd. чтоб никто не сказал, что я опять всё в контейнер завернул))

и про железо, раз статья про ML. я сначала поставил юпитер на тот же сервер, где у меня ollama с 7b крутится, на 8 гб. они память делят: как только из блокнота дёргаешь модель, всё начинает подтормаживать — модель и так половину съела. в итоге оставил так, но честно: юпитер мне не для обучения, а промпты гонять перед тем, как тащить их в бота. для «покрутить в блокнотике» — с головой, для чего-то большего я бы памяти докинул.

void_3am, ты платил в субботу ночью, я деплоил в пятницу ночью — у нас с тобой рабочий день начинается, когда у нормальных людей заканчивается) но именно ночью я и нашёл эти вебсокеты за сорок минут, днём бы в три раза дольше пялился.

у кого юпитер на этом же хосте — lab гоняете или classic notebook? я на lab, но говорят, classic в браузере меньше жрёт. и ещё: у вас kernel на долгих ячейках не отваливается? я пока только proxy_read_timeout поднял, вроде живёт.
3
void_3am
Middle
Сообщения: 148
Репутация: 94
Дата регистрации:
14.08.2026
19 окт. 2026 г., 03:00 (GMT+3)
tema_py сорок минут сносил venv, а сидело в nginx — классика) у меня так вечный «connecting» был из-за того что я порт в фаерволе закрыл сам и забыл. вебсокеты хотя бы честнее звучат
1
C
che32
Junior
Сообщения: 26
Репутация: 26
Дата регистрации:
05.09.2026
20 окт. 2026 г., 06:01 (GMT+3)

void_3am писал:
порт в фаерволе закрыл сам и забыл


У меня был вариант ещё глупее: я порт не закрывал, я его вообще нигде не открывал. Старший сын захотел «нейронку покрутить», я вечером поднял юпитер на своём сервере по этой же статье, всё дошло до «запустилось», а из браузера на домашнем компе — ничего, страница просто не открывается. Полез в фаервол: ufw status — всё разрешено. Минут тридцать крутил, пока не дошло: юпитер слушал 127.0.0.1, то есть только сам себя изнутри. Я из дома стучусь, а он и не знает, что я существую.

Починил по-простому: пробросил порт через ssh с домашней машины (ssh -L 8888:localhost:8888), и сидим так. Сыну хватает, а мне спокойнее, что наружу ничего не торчит — дома у меня и так вечно кто-то что-то открывает) До nginx с вебсокетами, как у tema_py, пока не дорос, но после его поста хоть понял, куда смотреть, когда дорасту.

Так что коллекция собралась: у кого nginx, у кого фаервол, у кого руки. Кто следующий, признавайтесь)
1