MAATRIX / Блог / Jupyter для ML и ИИ на VPS: полная настройка

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

Jupyter для ML и ИИ на VPS: настройка
Блог MAATRIX · 2026-07-07

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

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Ставим JupyterLab

Работаем в изолированном окружении, чтобы не засорять систему:

apt update && apt install -y python3-venv python3-pip
python3 -m venv ~/jlab && source ~/jlab/bin/activate
pip install -U jupyterlab numpy pandas scikit-learn matplotlib

Генерируем конфиг и задаём пароль (хэш, а не открытый пароль в конфиге):

jupyter lab --generate-config
jupyter lab password

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для Jupyter

Безопасный доступ через SSH-туннель

Самый безопасный способ — не открывать Jupyter в интернет вовсе, а пробрасывать порт через SSH. Запускаем Jupyter только на localhost сервера:

jupyter lab --no-browser --ip=127.0.0.1 --port=8888

А на своём компьютере создаём туннель и открываем localhost:8888 в браузере:

ssh -N -L 8888:127.0.0.1:8888 user@your-server-ip

Теперь Jupyter доступен только тебе, порт наружу не торчит — атаковать нечего.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Вариант с nginx и HTTPS

Если нужен постоянный доступ по домену, ставим nginx как обратный прокси с бесплатным сертификатом:

apt install -y nginx certbot python3-certbot-nginx
certbot --nginx -d jupyter.example.com

Прокидываем на Jupyter, не забыв про WebSocket-заголовки (без них ядра не подключатся):

location / {
    proxy_pass http://127.0.0.1:8888;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

Автозапуск через systemd

Чтобы Jupyter поднимался после перезагрузки и не умирал с закрытием SSH, оформляем сервис. Создай /etc/systemd/system/jupyter.service:

[Unit]
Description=JupyterLab
After=network.target

[Service]
User=mluser
ExecStart=/home/mluser/jlab/bin/jupyter lab --no-browser --ip=127.0.0.1
Restart=always

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now jupyter
systemctl status jupyter

Почему VPS, а не ноутбук

Ноутбук греется и садит батарею на тяжёлых расчётах, засыпает и рвёт эксперименты. Сервер работает 24/7, доступен с любого устройства и не зависит от твоей сети.

Для ML важны быстрая память и диск: датасеты читаются с накопителя, модели грузятся в RAM. На тарифах MAATRIX с AMD EPYC + NVMe pandas-операции над крупными датафреймами и загрузка моделей идут заметно бодрее, чем на типичном бюджетном хостинге, а ежедневные бэкапы страхуют результаты экспериментов.

Отдельный бонус — можно запустить долгий расчёт или обучение, закрыть ноутбук и уйти. Сервер продолжит считать, а результат заберёшь позже. Плюс к серверу удобно подключить VS Code по SSH или Remote-туннель и работать в привычном редакторе, а ядро при этом крутится на мощном железе, а не на локальной машине.

Частые ошибки

  • Открывают Jupyter на 0.0.0.0 без пароля — сервер за часы находят боты и используют под майнинг.
  • Забывают WebSocket-заголовки в nginx — интерфейс грузится, но ядро не подключается.
  • Запускают Jupyter в сессии SSH без systemd — закрыл терминал, процесс умер.
  • Ставят пакеты в системный Python и ломают зависимости ОС.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для Jupyter

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Как безопасно открыть Jupyter на сервере?

Лучший способ — SSH-туннель: Jupyter слушает только localhost, а вы пробрасываете порт через ssh -L. Порт наружу не открывается вовсе.

Нужен ли домен для Jupyter?

Нет. Через SSH-туннель домен не нужен. Домен и HTTPS через nginx+certbot удобны, если нужен постоянный доступ из браузера без туннеля.

Почему ядро не подключается через nginx?

Обычно не проброшены WebSocket-заголовки Upgrade и Connection. Добавьте их в блок location и перезапустите nginx.

Как сделать, чтобы Jupyter работал постоянно?

Оформите его как systemd-сервис с Restart=always и enable. Тогда он поднимется после перезагрузки и переживёт разрыв SSH.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.