---
title: "Образы GPU-серверов: CUDA, PyTorch, Ollama, vLLM, ComfyUI"
description: "Что входит в образ для GPU и как запустить PyTorch, Ollama, vLLM, ComfyUI и Docker на Ubuntu 24.04, закрыть эндпоинты от посторонних и следить за видеокартами."
url: https://offshoreserv.com/ru/docs/gpu/images
lang: ru
updated: 2026-09-26
source: HTML page at the url above (canonical); this is its Markdown version
---

База знаний · GPU-серверы

# Образы для GPU-серверов: CUDA, PyTorch, Ollama, vLLM и ComfyUI

Что входит в образ OffshoreServ для GPU-серверов и как запустить PyTorch, Ollama, vLLM, ComfyUI и Docker на Ubuntu 24.04, закрыть эндпоинты от внешнего доступа и следить за GPU.

Обновлено 26 сентября 2026 г.8 мин чтения

В этом руководстве

- Образ Linux — это Ubuntu 24.04 LTS с предустановленными драйвером NVIDIA и CUDA; проверить их можно командами nvidia-smi и nvcc.
- Устанавливайте инструменты Python в виртуальные окружения, поскольку Ubuntu 24.04 блокирует установку пакетов через pip на уровне всей системы.
- Ollama, vLLM и ComfyUI настраиваются за считаные минуты. Привязывайте их к 127.0.0.1 и подключайтесь к ним через SSH-туннель.
- Для Docker нужен NVIDIA Container Toolkit, а опубликованные порты обходят ufw, если не привязать их к 127.0.0.1.

GPU-серверы11 разделов

Наши [GPU-серверы](https://offshoreserv.com/ru/offshore-gpu-servers) поставляются с выделенными GPU NVIDIA и образом Linux, готовым к работе с CUDA. В этом руководстве мы сначала проверим образ, а затем установим на него популярные инструменты для ИИ. Команды рассчитаны на Ubuntu 24.04 и пользователя с правами sudo; если вы работаете под root, опускайте `sudo`. Замените `SERVER_IP` на адрес своего сервера.

## Что входит в образ

- Ubuntu 24.04 LTS со стандартной поддержкой до мая 2029 г.
- Драйвер NVIDIA, включая утилиту `nvidia-smi`.
- CUDA, включая компилятор `nvcc`.

Версии меняются по мере обновления образа, поэтому проверьте свои:

```
nvidia-smi
nvcc --version
```

В верхней части вывода `nvidia-smi` указаны версия драйвера и значение **CUDA Version**. Это самый новый выпуск CUDA, который поддерживает драйвер; это значение понадобится ниже при выборе сборки PyTorch. Если `nvcc` не найден, набор инструментов CUDA обычно установлен в `/usr/local/cuda`, но не добавлен в PATH:

```
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
```

> Когда системное обновление заменяет пакеты драйвера NVIDIA, `nvidia-smi` сообщает «Driver/library version mismatch», пока вы не перезагрузите сервер. Планируйте обновления драйвера вместе с перезагрузкой. Если вы используете unattended-upgrades, имеет смысл добавить пакеты NVIDIA в его `Package-Blacklist` и обновлять их вручную.

## Проверка GPU

```
nvidia-smi -L
nvidia-smi topo -m
```

Первая команда выводит список всех GPU с указанием модели: убедитесь, что количество и модель соответствуют вашему тарифу, а объём памяти, который показывает `nvidia-smi`, соответствует карте, например 24 ГБ у RTX 4090. На серверах с несколькими GPU вторая команда показывает, как GPU соединены между собой (NVLink или PCIe), а от этого зависит, насколько быстро они распределяют работу. Чтобы запустить задачу на одном конкретном GPU, задайте `CUDA_VISIBLE_DEVICES`; тогда процесс видит только эту карту, а нумерация начинается с 0:

```
CUDA_VISIBLE_DEVICES=1 python train.py
```

## Подготовка Python

Ubuntu 24.04 помечает системный Python как внешне управляемый, поэтому `pip install` вне виртуального окружения завершается ошибкой `externally-managed-environment`. Создавайте отдельное окружение для каждого инструмента: vLLM, например, фиксирует собственную версию PyTorch. Сначала установите базовые пакеты; компилятор и заголовочные файлы нужны инструментам, которые компилируют ядра для GPU во время выполнения:

```
sudo apt update
sudo apt install -y python3-venv python3-dev build-essential git
```

## Установка PyTorch

PyTorch публикует сборки под конкретные версии CUDA. Актуальные выпуски предлагают сборки для CUDA 12.6 и CUDA 13.0, а также экспериментальную сборку для CUDA 13.2. Выберите сборку не новее версии CUDA, которую сообщает `nvidia-smi`:

```
python3 -m venv ~/venvs/torch
source ~/venvs/torch/bin/activate
pip install --upgrade pip
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
python -c "import torch; print(torch.__version__, torch.cuda.is_available(), torch.cuda.get_device_name(0))"
```

Последняя строка должна вывести `True` и название вашего GPU. Сборке `cu130` нужен драйвер, который сообщает CUDA 13.0 или новее. Если ваш драйвер сообщает 12.x, используйте в URL индекса `cu126`. Эта сборка подходит для всех GPU в нашей линейке, кроме RTX 5090, которой нужна CUDA 12.8 или новее.

## Запуск моделей в Ollama

Зачем нужен собственный сервер моделей и как обеспечить его безопасность, читайте в статье о том, [как развернуть LLM на собственном GPU-сервере](https://offshoreserv.com/ru/blog/self-host-llm-gpu-server). Ollama — самый быстрый способ запустить языковые модели с открытыми весами. Скрипт установки Ollama создаёт системную службу и определяет GPU NVIDIA. Скрипт можно скачать и прочитать перед запуском или сразу передать по конвейеру в оболочку:

```
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1:8b
ollama run llama3.1:8b
ollama ps
```

`ollama run` открывает интерактивный чат; чтобы выйти из него, введите `/bye`. В выводе `ollama ps` в столбце Processor должно быть указано **100% GPU**. Если указана доля CPU, модель не помещается в видеопамять: выберите модель поменьше или более сильное квантование. Подобрать размер поможет статья о том, [сколько видеопамяти нужно для LLM](https://offshoreserv.com/ru/blog/how-much-vram-for-llms).

По умолчанию Ollama принимает подключения на `127.0.0.1:11434`. Оставьте так и подключайтесь через SSH-туннель, описанный ниже. Ollama также принимает запросы в формате OpenAI по пути `/v1`, поэтому один и тот же клиентский код работает и с Ollama, и с vLLM. Модели хранятся в `/usr/share/ollama/.ollama/models`. Чтобы изменить настройки, например адрес прослушивания, добавьте в службу строки `Environment=` командой:

```
sudo systemctl edit ollama.service
```

## OpenAI-совместимый эндпоинт на vLLM

vLLM — сервер инференса, созданный для высокой пропускной способности: он обрабатывает множество запросов одновременно, объединяя их в батчи, и работает по тому же HTTP-протоколу, что и OpenAI, поэтому с ним совместимы существующие клиентские библиотеки. Его сборки компилируются под конкретные версии PyTorch и CUDA, поэтому устанавливайте его в отдельное окружение с URL индекса из документации vLLM:

```
python3 -m venv ~/venvs/vllm
source ~/venvs/vllm/bin/activate
pip install --upgrade pip
pip install vllm --extra-index-url https://download.pytorch.org/whl/cu129
```

Если ваш драйвер сообщает более старую версию CUDA, в документации vLLM описана и установка через `uv` с параметром `--torch-backend=auto`, при которой выбирается сборка PyTorch, подходящая к драйверу.

Создайте токен, чтобы пользоваться сервером могли только вы, запишите его и запустите сервер на localhost:

```
export VLLM_API_KEY=$(openssl rand -hex 32)
echo "$VLLM_API_KEY"
vllm serve Qwen/Qwen2.5-7B-Instruct --host 127.0.0.1 --port 8000 --max-model-len 8192
```

При первом запуске модель загружается с Hugging Face в `~/.cache/huggingface`; одним только весам этой модели нужно около 15 ГБ видеопамяти, поэтому используйте GPU с 24 ГБ или больше. На RTX A4000 с 16 ГБ выберите модель поменьше, например `Qwen/Qwen2.5-3B-Instruct`. На серверах с несколькими GPU добавьте `--tensor-parallel-size 2` (или 4), чтобы распределить модель между ними. Если не передать `--host`, vLLM принимает подключения на всех интерфейсах, поэтому всегда задавайте этот параметр. Моделям с ограниченным доступом (gated), например семейству Llama от Meta, нужен ещё и токен доступа Hugging Face: примите лицензию модели на её странице на Hugging Face, затем экспортируйте `HF_TOKEN` перед запуском сервера.

Проверьте работу сервера из второго SSH-сеанса, предварительно экспортировав в нём тот же токен:

```
curl http://127.0.0.1:8000/v1/models -H "Authorization: Bearer $VLLM_API_KEY"
curl http://127.0.0.1:8000/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer $VLLM_API_KEY" -d '{"model": "Qwen/Qwen2.5-7B-Instruct", "messages": [{"role": "user", "content": "Say hello in five words."}]}'
```

### Запуск vLLM как службы

Сервер, запущенный из оболочки, останавливается, когда вы выходите из системы. Чтобы он продолжал работать и снова запускался после перезагрузки, сохраните токен в файле, доступном для чтения только root, затем создайте юнит systemd:

```
sudo install -m 600 /dev/null /etc/vllm.env
echo "VLLM_API_KEY=$(openssl rand -hex 32)" | sudo tee /etc/vllm.env > /dev/null
sudo cat /etc/vllm.env
sudo systemctl edit --force --full vllm.service
```

Вставьте этот юнит в редактор, заменив `YOUR_USER` на своё имя пользователя:

```
[Unit]
Description=vLLM server
After=network-online.target
Wants=network-online.target

[Service]
User=YOUR_USER
EnvironmentFile=/etc/vllm.env
ExecStart=/home/YOUR_USER/venvs/vllm/bin/vllm serve Qwen/Qwen2.5-7B-Instruct --host 127.0.0.1 --port 8000 --max-model-len 8192
Restart=on-failure

[Install]
WantedBy=multi-user.target
```

Затем запустите службу, включите её автозапуск при загрузке и следите за её журналом:

```
sudo systemctl enable --now vllm.service
sudo journalctl -u vllm.service -f
```

## Генерация изображений в ComfyUI

```
git clone https://github.com/Comfy-Org/ComfyUI.git
cd ComfyUI
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txt
python main.py --listen 127.0.0.1 --port 8188
```

Контрольные точки моделей поместите в `ComfyUI/models/checkpoints`, а другие файлы, например VAE и LoRA, — в соответствующие папки внутри `models`. С параметром `--listen` без адреса ComfyUI принимает подключения на всех интерфейсах IPv4 и IPv6 без какого-либо пароля; так можно делать только за правилом брандмауэра, которое разрешает доступ исключительно с вашего IP-адреса. Пользовательские узлы выполняют произвольный код на Python с правами вашего пользователя, поэтому устанавливайте узлы только из источников, которым доверяете.

## Docker и NVIDIA Container Toolkit

Чтобы контейнеры получили доступ к GPU, нужен NVIDIA Container Toolkit. Установите Docker из репозиториев Ubuntu, добавьте репозиторий NVIDIA и настройте Docker на использование среды выполнения NVIDIA:

```
sudo apt install -y docker.io
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
sudo docker run --rm --gpus all ubuntu nvidia-smi
```

Последняя команда должна вывести ту же таблицу, что и на хосте. Если вы предпочитаете Docker CE из собственного репозитория Docker, он работает точно так же. Например, эта команда запускает vLLM в контейнере и публикует его только на localhost:

```
sudo docker run --rm --gpus all --ipc=host -p 127.0.0.1:8000:8000 -v ~/.cache/huggingface:/root/.cache/huggingface vllm/vllm-openai:latest --model Qwen/Qwen2.5-7B-Instruct
```

> Docker создаёт собственные правила брандмауэра. Порт, опубликованный как `-p 8000:8000`, доступен из интернета, даже если ufw его запрещает. Публикуйте порты в виде `127.0.0.1:PORT:PORT`, если они не предназначены для публичного доступа.

## Закрытие эндпоинтов от внешнего доступа

Открывать любой из этих инструментов наружу в исходном виде небезопасно: у Ollama и ComfyUI вообще нет аутентификации, а токен vLLM необязателен. Держите их привязанными к `127.0.0.1` и подключайтесь к ним через SSH-туннель со своего компьютера (в Windows та же команда работает в PowerShell):

```
ssh -N -L 8188:127.0.0.1:8188 -L 8000:127.0.0.1:8000 -L 11434:127.0.0.1:11434 YOUR_USER@SERVER_IP
```

Пока туннель работает, откройте в браузере `http://127.0.0.1:8188`, чтобы попасть в ComfyUI, а OpenAI-совместимые клиенты направьте на `http://127.0.0.1:8000/v1`. Всё остальное на сервере закройте брандмауэром, который разрешает только SSH, как описано в [руководстве по усилению защиты](https://offshoreserv.com/ru/docs/security/hardening). Если сервис должен быть публичным, поставьте перед ним обратный прокси с TLS, аутентификацией и ограничением частоты запросов и не забывайте о [правилах допустимого использования](https://offshoreserv.com/ru/acceptable-use-policy).

## Мониторинг GPU

```
nvidia-smi dmon -s pucm
watch -n 1 nvidia-smi
nvidia-smi --query-gpu=index,temperature.gpu,utilization.gpu,memory.used,memory.total,power.draw --format=csv -l 5
sudo apt install -y nvtop
nvtop
```

`nvidia-smi dmon` каждую секунду выводит по строке на каждый GPU: энергопотребление и температура (p), загрузка (u), частоты (c) и память (m). Вариант с запросом метрик раз в пять секунд выводит данные в формате CSV — это удобно для журналирования длительных задач. `nvtop` — интерактивный монитор всех GPU и их процессов, похожий на htop. Если под нагрузкой частоты падают, выясните причину:

```
nvidia-smi -q -d PERFORMANCE
```

## Устранение неполадок

- **«CUDA out of memory»:** модель, её контекст или батч не помещаются в память. Выберите модель поменьше или с более сильным сжатием, уменьшите `--max-model-len` в vLLM или сократите размер батча. `nvidia-smi` покажет, не занимает ли память другой процесс.
- **`torch.cuda.is_available()` возвращает False:** виртуальное окружение не активировано или сборка PyTorch рассчитана на более новую версию CUDA, чем поддерживает драйвер. Сравните `torch.version.cuda` с версией CUDA в выводе `nvidia-smi`.
- **«Driver/library version mismatch»:** пакеты драйвера обновились, но старый модуль ядра всё ещё загружен. Перезагрузите сервер.
- **Контейнер не видит GPU:** добавьте `--gpus all` к команде `docker run` и проверьте, что команда `nvidia-ctk runtime configure` была выполнена, а Docker перезапущен.
- **Медленный первый запуск:** при первом запуске загружаются модели и компилируются ядра для GPU. Последующие запуски проходят быстрее.

Готовы выбрать оборудование? Сравните [серверы с RTX](https://offshoreserv.com/ru/offshore-gpu-servers/rtx), [GPU для дата-центров](https://offshoreserv.com/ru/offshore-gpu-servers/datacenter) и [серверы с несколькими GPU](https://offshoreserv.com/ru/offshore-gpu-servers/multi-gpu).

**Застряли на каком-то шаге?**

Клиенты с выделенными и GPU-серверами могут открыть тикет в [личном кабинете](https://offshoreserv.com/ru/account/support), указав IP-адрес сервера и то, что они уже пробовали сделать. Целевой срок первого ответа — менее 12 часов. Для всех остальных серверов используйте действия с сервером на его странице, [руководства](https://offshoreserv.com/ru/docs) и страницу [статуса сети](https://offshoreserv.com/ru/status).

---

OffshoreServ — офшорный хостинг-провайдер: VPS, выделенные серверы, Windows RDP и GPU-серверы в семи юрисдикциях (Исландия, Швейцария, Молдова, Румыния, Нидерланды, Болгария и Малайзия), оплата только криптовалютой (Bitcoin, Ethereum, Monero, Tether (USDT) и Solana), без проверки личности (без KYC).

Prices and plans: https://offshoreserv.com/ru/pricing · Answers: https://offshoreserv.com/ru/faq · Every page: https://offshoreserv.com/llms.txt
