CLI gpunz
Командная строка gpunz — тот же REST API, что и консоль. Ищите предложения, арендуйте серверы, подключайтесь по SSH и смотрите логи из терминала Linux, macOS, WSL или Windows PowerShell.
Установка
Скрипт скачивает нужную сборку с gpu.nz, проверяет SHA-256 и устанавливает gpunz. Повторный запуск обновляет файл на месте.
curl -fsSL https://gpu.nz/install.sh | sh
Ставится в ~/.local/bin (под root — в /usr/local/bin). Для другой папки задайте GPUNZ_INSTALL_DIR.
Дальше выполните gpunz login.
Проверить установку:
gpunz version
Готовые файлы и контрольные суммы лежат в https://gpu.nz/cli/latest/
Вход и ключи
По умолчанию gpunz login выводит короткий код, открывает страницу подтверждения в браузере и ждёт одобрения. Ключ сохраняется локально.
- Запустите gpunz login. Программа покажет код вида ABCD-EFGH и ссылку.
- Откройте страницу входа (браузер откроется сам) и введите код. Если вы не вошли в аккаунт, сначала войдите.
- Подтвердите вход. CLI получит ключ и сохранит его в конфиге.
На сервере без браузера запустите gpunz login --no-browser и откройте ссылку с другого устройства.
Готовый ключ
Создайте ключ в консоли (API-ключи) и выполните gpunz login --key gpz_… либо задайте GPUNZ_API_KEY. Ключ из консоли можно ограничить правами и сроком действия.
gpunz login --key gpz_…
gpunz logout удаляет ключ с этого компьютера. Ключ остаётся активным, пока вы не отзовёте его в консоли.
gpunz logout
Команды
Глобальные флаги
- --json
- Вывести JSON вместо таблиц
- --api-url URL
- Адрес API (для разработки)
- --api-key KEY
- Ключ API только для этого запуска
gpunz login [--key KEY] [--no-browser]
Вход: код в браузере или готовый ключ
- --key KEY
- Сохранить готовый ключ вместо входа через браузер
- --no-browser
- Не открывать браузер, только показать код и ссылку
gpunz login
gpunz login --key gpz_xxxxxxxxxxxxxxxx
gpunz logout
Удалить сохранённый ключ
gpunz logout
gpunz whoami
Аккаунт, который сейчас используется
gpunz whoami --json
gpunz balance
Баланс, доступно, расход в час и запас времени
gpunz balance
gpunz gpus
Модели GPU, сколько свободно и с какой цены
gpunz gpus
gpunz search [flags]
Поиск предложений с фильтрами и сортировкой
- --gpu SLUG
- Slug модели через запятую: rtx-4090,a100
- --num-gpus N
- GPU в одной машине: 1, 2, 4 или 8
- --type TYPE
- on_demand (по умолчанию) или interruptible
- --max-price RUB
- Максимум ₽/ч за on-demand
- --country CC
- Коды стран ISO-2 через запятую
- --min-reliability R
- Надёжность: 0–1 или проценты (0.99 или 99)
- --verified
- Только проверенные машины
- --min-vram GB
- Минимум VRAM на GPU, ГБ
- --min-cuda VER
- Минимальная версия CUDA, например 12.4
- --min-disk GB
- Минимум диска, ГБ
- --min-down MBPS
- Минимальная скорость загрузки, Мбит/с
- --order FIELD
- price (по умолчанию), -price, dlperf, dlperf_per_price, reliability, vram, inet_down
- --limit N
- Сколько строк показать, 1–200
gpunz search --gpu rtx-4090 --max-price 40 --verified
gpunz search --gpu a100 --num-gpus 4 --order -price --limit 10
gpunz templates
Шаблоны запуска: образ, порты, размер диска
gpunz templates
gpunz ssh-keys [ls | add [PATH] [--name NAME] | rm ID]
SSH-ключи аккаунта: список, добавление, удаление
- --name NAME
- Название SSH-ключа (по умолчанию — комментарий из файла)
gpunz ssh-keys add
gpunz ssh-keys add ~/.ssh/work.pub --name work
gpunz ssh-keys rm 2f9c4a1e
gpunz create OFFER_ID --template SLUG [--disk GB] [flags]
Арендовать предложение
- --template SLUG
- Slug шаблона (обязательно)
- --disk GB
- Размер диска, ГБ (по умолчанию — рекомендуемый для шаблона)
- --name NAME
- Название сервера
- --type TYPE
- on_demand (по умолчанию) или interruptible
- --ssh-key ID
- ID SSH-ключа; флаг повторяется (по умолчанию — все ключи аккаунта)
- --env KEY=VALUE
- Переменная окружения KEY=VALUE; флаг повторяется
- --onstart CMD
- Скрипт, который выполнится при запуске сервера
Заголовок Idempotency-Key создаётся автоматически: повтор создания не арендует второй сервер
gpunz create 8f2c91d0 --template pytorch --disk 80 --name train
gpunz create 8f2c91d0 --template pytorch --type interruptible
gpunz instances [--all] (alias: ls)
Серверы аккаунта (псевдоним: ls)
- --all
- Показать и удалённые серверы
gpunz instances
gpunz ls --all
gpunz show ID
Подробности одного сервера, включая SSH-команду
gpunz show 2f9c4a1e
gpunz start ID
Запустить остановленный сервер
gpunz start 2f9c4a1e
gpunz stop ID
Остановить сервер; диск сохраняется
gpunz stop 2f9c4a1e
gpunz destroy ID [-y]
Удалить сервер и его диск
- -y, --yes
- Не спрашивать подтверждение
gpunz destroy 2f9c4a1e
gpunz destroy 2f9c4a1e -y
gpunz ssh ID [ssh args…]
Открыть SSH-сессию через системный ssh
gpunz ssh 2f9c4a1e
gpunz ssh 2f9c4a1e -L 8888:localhost:8888
gpunz logs ID [--tail N]
Последние строки логов сервера
- --tail N
- Сколько последних строк (1–1000)
gpunz logs 2f9c4a1e --tail 100
gpunz api-keys [ls | create --name NAME | rm ID]
Ключи API: список, создание, удаление
- --name NAME
- Название SSH-ключа (по умолчанию — комментарий из файла)
- --scopes LIST
- Права через запятую (по умолчанию — все)
- --expires-in-days N
- Срок действия в днях (0 — бессрочно)
gpunz api-keys create --name ci --scopes instances:read,instances:write
gpunz api-keys ls
gpunz version
Версия CLI
gpunz version
gpunz update [--force]
Обновить CLI до последней версии
- --force
- Переустановить, даже если версия актуальна
gpunz update
gpunz completion bash|zsh|fish|powershell
Скрипт автодополнения для bash, zsh, fish или PowerShell
eval "$(gpunz completion bash)"
gpunz completion powershell | Out-String | Invoke-Expression
Вывод и форматы
По умолчанию команды выводят таблицы с выравниванием. Цвета включаются только в терминале и отключаются переменной NO_COLOR или выводом в файл.
С флагом --json команда печатает ответ API как есть. Удобно для скриптов и jq.
gpunz instances --json | jq '.data[].id'
Деньги в рублях: 25,40 ₽/ч в русской локали, ₽25.40/h в английской.
Язык сообщений выбирается по LC_ALL, затем LANG: ru… — по-русски. Ошибки API приходят на языке запроса.
Ошибка печатается как «error: сообщение (код)». С --json ошибка выводится JSON-объектом в stderr.
Переменные и конфиг
Порядок приоритетов: флаг командной строки, затем переменная окружения, затем файл конфига.
| Переменная | Значение |
|---|---|
| GPUNZ_API_KEY | API-ключ, например gpz_… |
| GPUNZ_API_URL | Адрес API, по умолчанию https://gpu.nz/api/v1 |
| NO_COLOR | Отключить цвета |
| LC_ALL, LANG | Язык сообщений: ru… или en |
| GPUNZ_INSTALL_DIR | Папка установки для install.sh и install.ps1 |
Конфиг: ~/.config/gpunz/config.json (Linux, macOS), %APPDATA%\gpunz\config.json (Windows). Файл содержит api_key и api_url, права 0600.
{
"api_key": "gpz_…",
"api_url": "https://gpu.nz/api/v1"
}Коды выхода
| 0 | Успешно |
| 1 | Прочая ошибка, в том числе сеть и недоступный API |
| 2 | Неверные аргументы или флаги |
| 3 | Не выполнен вход, ключ неверный или не хватает прав |
| 4 | Сервер, предложение или шаблон не найдены |
| 5 | Недостаточно средств на балансе |
Решение проблем
Команда gpunz не найдена после установки
Откройте новое окно терминала. В Linux и macOS добавьте папку установки в PATH (install.sh покажет строку для ~/.profile).
«не выполнен вход» (код 3)
Выполните gpunz login. Если задан GPUNZ_API_KEY, проверьте, что ключ не отозван и не истёк.
Браузер не открылся
Откройте ссылку, которую выводит gpunz, и введите код. Можно использовать gpunz login --no-browser.
gpunz ssh не находит ssh
В Windows включите «Клиент OpenSSH» в дополнительных компонентах. Команда ssh берётся из системы, без неё выведется строка для ручного подключения.
checksum mismatch при установке или update
Файл не совпал с SHA256SUMS. Ничего не установлено. Повторите позже или проверьте сеть и прокси.
update на Windows не заменяет gpunz.exe
Бинарник переименовывается, а новый ставится на его место. Если запись запрещена, запустите терминал от администратора.