- Removed references to llamacpp from configuration files, scripts, and documentation, streamlining the LLM setup process to focus solely on Ollama. - Updated environment variables and paths to eliminate llamacpp-related entries, ensuring clarity in the configuration. - Adjusted CLI commands and help messages to reflect the removal of llamacpp, enhancing user experience and reducing confusion. - Revised documentation to provide clear guidance on using Ollama exclusively, including updates to setup instructions and runtime options.
9.2 KiB
9.2 KiB
Принятые решения
Зафиксировано 21 августа 2026. Менять только явно.
| Тема | Решение |
|---|---|
| Аудитория | Личный инструмент, репозиторий можно показать другим: MIT, без аккаунтных id и без имён локальных чекпоинтов |
| Сессия | GPU живёт до stop или простоя (idle-killer на VM). Ноут можно закрыть — compute не обязан умереть. Опционально: gpu-rent watchdog install — локальный тик на Windows/macOS/Linux; если туннель умер без Ctrl+C/stop, после LOCAL_WATCHDOG_GRACE_MINUTES (дефолт 10) → stop |
| Модели | Пустой ./Models → не грузим ничего. Появились веса + метадата → на up выгрузить эту пару. Civitai-seed отдельно. С сервера не удаляем |
| Civitai хост | Дефолт API civitai.red (полный каталог). .com — SFW-витрина, NSFW с неё часто 404. Ссылки .com/.red/.green в манифесте принимаем. 404 → один retry на второй хост. Один токен на оба домена |
| Пул GPU | Перед up/flavors сканируем SCAN_POOLS (дефолт ru-6,ru-7). ru-6 — мультизональный: ходим на https://ru-6.cloud.api.selcloud.ru/compute/ тем же токеном (SDK-каталог часто знает только RC-пул). Собираем типы GPU из extra_specs и совпадения с FLAVOR_PREFERENCE. Автоматом .env не пишем — печатаем рекомендацию OS_REGION_NAME / GPU_RENT_AZ |
| Манифест моделей | <repo>/models.yaml, типы: checkpoint / lora / vae / embedding / controlnet / upscaler. В git только models.example.yaml |
| Расширения | <repo>/extensions.yaml: git-репы swarmui → src/Extensions, comfy → DLNodes. Поле requires: none|ollama|any-llm фильтрует по LLM_RUNTIME. Пример: swarm-assistent с requires: ollama |
| Autocomplete | До первого старта: скачать word-list в Data/Autocompletions, прописать DefaultUser.AutoComplete.Source. На каждом up сверить GitHub blob sha и обновить файл, если изменился. Дефолт: tags/danbooru.csv из a1111-sd-webui-tagcomplete (как в доке SwarmUI) |
| Доступ | Браузер на туннеле; MCP переключается на облако, пока оно живо; HTTP API SwarmUI через тот же туннель |
| Preemptible | По умолчанию всегда. Обычный сервер — только --no-spot |
| Selectel сейчас | Квота GPU часто 0 на новом аккаунте — сначала тикет (setup §2.3), потом doctor |
| Образ ОС | Ubuntu 24.04 LTS GPU Driver 580 (Selectel, без Docker). SwarmUI нативно: launch-linux.sh + systemd. Нет образа 580 — фоллбек 24.04 Driver 535 без Docker |
| Floating IP | KEEP_FLOATING_IP=false: выделить на up, удалить на stop |
| Idle-killer | 30 минут пустой очереди генерации. Открытый браузер не продлевает жизнь |
| Льгота после boot | Killer молчит во время clone/seed/push, hold, качалки в UI SwarmUI, пока backend не Idle, и 45 мин после ACTIVE/unshelve |
up / tunnel |
up по умолчанию после ready открывает туннель :17801, печатает URL и ждёт. --no-tunnel — только облако. Ctrl+C на туннеле GPU не гасит (stop отдельно). Команда tunnel остаётся для повторного входа |
Interactive up |
Без --yes: нумерованные меню (LLM, пресет, flavor #, data GB, preemptible) → confirm. Изменения можно сохранить в gpu-rent.vars |
| Git update | На каждом up по умолчанию: git pull SwarmUI + репы из extensions.yaml + уже установленные на data (Extensions/DLNodes). --no-update или UPDATE_GIT=false — не тянуть |
| LLM (opt-in) | none по умолчанию. Флаги / LLM_RUNTIME / меню. Манифест: ollama-models.yaml. Порт 17811. Prompt-help, не замена SwarmUI |
| llm-only | ENABLE_SWARMUI=false / WORKLOAD=llm / --no-swarm/--llm-only: GPU + LLM без SwarmUI (bootstrap только data disk) |
| Capture | gpu-rent capture — инвентарь VM → merge ссылок в локальные yaml (веса не качать) |
| Perf auto-tune | На up: probe GPU → tier. Swarm/Comfy: sageattention ExtraArgs на Ampere+ ≥16 GiB. Ollama: flash/KV/keep-alive + GPU_OVERHEAD чтобы оставить VRAM под Krea |
| Баланс ₽ | SELECTEL_API_TOKEN (X-Token панели) + gpu-rent watchdog install. Baseline на up; тик watchdog уведомляет каждые BALANCE_NOTIFY_STEP_RUB (дефолт 200) списанных с baseline. Опционально BALANCE_NOTIFY_LOW_RUB |
| Data-диск | Старт 100 GB, рост через resize вверх (вниз Selectel не умеет) |
| SSH | CLI генерирует <repo>/.gpu-rent/id_ed25519 без passphrase и сам регистрирует keypair |
| Локальные файлы | Всё в корне репозитория: .env, models.yaml, extensions.yaml; runtime (state.json, lock, SSH) в <repo>/.gpu-rent/. Не %USERPROFILE%\.gpu-rent |
| Локальный порт | 17801 |
| MCP-конфиг Cursor | Только сниппет в stdout, файл не трогаем |
ready для API |
Ждать Idle backend, не только HTTP UI |
| Output | Pull в ./Output опционален (PULL_OUTPUT=false). Новые файлы с VM, с сервера не удаляем |
| Wildcards / workflows | Как Models: пустые папки не трогаем; появился файл — push на up |
| Idle hold | gpu-rent hold [--minutes N] сдвигает дедлайн killer. Качалка моделей в UI SwarmUI тоже считается занятостью (сигнал уточнить на spike) |
| Doctor | gpu-rent doctor без create: Keystone, квота GPU, flavor, диск, Civitai token+.red, манифесты, SSH-ключ |
| Bare CLI | Без аргументов — help. up только явно или через GPU_RENT_DEFAULT_ARGS у лаунчера |
| Flavor fallback | Список предпочтений (4090 → A5000 → …). Нет первого — предложить следующий с ценой, --yes берёт первый доступный из списка |
| Готово | Windows toast + звук (и лог), когда backend Idle; access-card с URL/MCP |
| Status | Диск used/free, ₽/час, сколько до 24 ч preempt, состояние killer / hold / LLM |
| Boot snapshot | После первого удачного bootstrap — один snapshot boot volume gpu-rent-boot-ok; следующие create могут идти с него |
| Open | gpu-rent open / open --llm / флаг после tunnel: браузер на 17801 / LLM-порт |
| App cred idle-killer | Только этот server_id; fail closed без unrestricted; revoke на stop |
Следствия, которые из этого вытекают и тоже считаются принятыми:
- Туннель ≠ жизнь GPU.
stopи idle-killer не зависят от того, открыт ли SSH с ноутбука. - Локальный SwarmUI на 7801 не трогаем. Туннель по умолчанию на 17801 (на VM по-прежнему 7801 на loopback).
Ctrl+Cна туннеле не удаляет VM. Иначе «закрыл ноут» невозможно. Чтобы убить GPU —gpu-rent stopили простой. При установленном local-watchdog Ctrl+C по-прежнему detach; убийство процесса/ребут без detach → stop после grace.- Idle-killer на VM не может быть
shutdown -h: у Selectel остановленная изнутри VM часто продолжает тарифицировать ресурсы. Нужен вызов OpenStack: удалить этот compute, диски оставить. - Для этого на VM — OpenStack application credential с правом DELETE/GET только этого compute (не
/servers/*, не unrestricted fallback). Наstop/destroycred отзывается. Компрометация SwarmUI в худшем случае сносит текущую GPU-сессию, а не произвольные машины проекта.