Leonid Pershin a9cf2e0f90 Add support for gpu-rent.vars and enhance git update functionality
- Updated .gitignore to include gpu-rent.vars.
- Modified env.example to introduce the UPDATE_GIT variable for controlling git updates during execution.
- Implemented Import-GpuRentVars function in gpu-rent.ps1 to load environment variables from gpu-rent.vars.
- Enhanced gpu-rent.sh to support loading variables from gpu-rent.vars and added logic for handling default and extra arguments.
- Updated CLI documentation to reflect the new gpu-rent.vars file and its usage in configuration.
- Improved bootstrap and provisioning logic to conditionally perform git updates based on the new configuration.
2026-08-21 05:01:53 +03:00
2026-08-21 02:42:48 +03:00
2026-08-21 02:42:48 +03:00
2026-08-21 02:42:48 +03:00
2026-08-21 02:42:48 +03:00
2026-08-21 02:42:48 +03:00

gpu-rent

Прерываемый GPU в Selectel + SwarmUI на http://127.0.0.1:17801.
Модели и ComfyUI живут на сетевом диске — платишь за GPU только пока он поднят.

Сначала ключи и квота GPU, не up.docs/setup.md


Быстрый старт

.\gpu-rent.ps1 doctor          # preflight
.\gpu-rent.ps1 flavors         # что выберет фоллбек
.\gpu-rent.ps1 dry-run         # план без create
.\gpu-rent.ps1 up --yes        # GPU + SwarmUI + seed + туннель :17801
.\gpu-rent.ps1 up --yes --no-tunnel   # только облако
.\gpu-rent.ps1 tunnel --open   # снова открыть UI, если туннель закрыли
.\gpu-rent.ps1 hold            # отложить idle-killer
.\gpu-rent.ps1 stop            # гасить compute, диски оставить

Unix: ./gpu-rent.sh … (один раз chmod +x gpu-rent.sh).

Лаунчер сам создаёт .venv и ставит пакет. Конфиг — в корне репо:

Файл Что
.env из env.exampleOS_*, Civitai
models.yaml из models.example.yaml — seed с Civitai
extensions.yaml из extensions.example.yaml
.gpu-rent/ state, SSH-ключ (gitignore)

Команды

Команда Смысл
doctor Keystone, квота GPU, flavor, Civitai, манифесты
flavors Живой список по FLAVOR_PREFERENCE
up / up --yes Поднять GPU + туннель :17801 (браузер). Ctrl+C = туннель off
up --no-tunnel Только облако
up --no-spot / up --flavor ID Обычный тариф / явный flavor
tunnel / tunnel --open Повторный проброс; watchdog на EXPIRED
open Браузер на 17801
hold / hold --minutes 90 / hold --clear Пауза idle-killer
status Nova + диск + killer
seed-models / seed-extensions Докачать на живой диск
push / push-models / pull-output Локальные папки ↔ VM
resize-data --gb 400 Диск только вверх
stop / destroy --i-understand-data-loss Стоп GPU / + диски

Деньги и риски

  • GPU — пока жив compute (upstop или idle-killer).
  • Диск data24/7, даже после stop.
  • Цены в OpenStack API нет — смотри панель Selectel.
  • Preemptible по умолчанию (~24 ч) → EXPIRED; tunnel сам unshelve, иначе up.
  • Idle-killer: льгота после boot, потом N мин пустой очереди → delete. hold откладывает.
  • Ctrl+C на tunnel не гасит GPU.

Модели

  1. Civitai-seed по models.yaml (нужен CIVITAI_API_TOKEN, хост civitai.red).
  2. Локальные Models/, Wildcards/, CustomWorkflows/ — непустые едут на каждый up.

Пример в репо уже с Krea 2 + LoRA — скопируй в models.yaml.


Документация

Док Зачем
docs/setup.md Ключи, квота, RC
docs/spike-notes.md Чеклист живого spike
docs/cli.md Все команды и .env
docs/decisions.md Продуктовые решения
docs/roadmap.md Что готово / что нет

MIT. Секреты и веса в git не коммитить.

S
Description
No description provided
Readme MIT
3.5 MiB
Languages
Python 96.5%
Shell 2.6%
PowerShell 0.8%