a563ae06c465fa42d2eafb6e4a39425815d853c1
- Updated version number in pyproject.toml and __init__.py to 0.2.0. - Revised README.md to reflect the current state of the project, including usage instructions and setup steps. - Improved CLI documentation in cli.md, adding details about new commands and their functionalities. - Enhanced the quick start section in README.md for better clarity on initial setup. - Updated local folder documentation to clarify file handling and commands. - Added a new command for listing GPU flavors and improved error handling in the CLI. - Implemented a watchdog feature in the tunnel to manage server states effectively.
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
.\gpu-rent.ps1 tunnel # UI на :17801 (Ctrl+C ≠ stop)
.\gpu-rent.ps1 hold # отложить idle-killer
.\gpu-rent.ps1 stop # гасить compute, диски оставить
Unix: ./gpu-rent.sh … (один раз chmod +x gpu-rent.sh).
Лаунчер сам создаёт .venv и ставит пакет. Конфиг — в корне репо:
| Файл | Что |
|---|---|
.env |
из env.example — OS_*, 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 / up --no-spot / up --flavor ID |
Поднять GPU |
tunnel / tunnel --open |
SSH-проброс; 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 (
up…stopили idle-killer). - Диск data — 24/7, даже после
stop. - Цены в OpenStack API нет — смотри панель Selectel.
- Preemptible по умолчанию (~24 ч) →
EXPIRED;tunnelсам unshelve, иначеup. - Idle-killer: льгота после boot, потом N мин пустой очереди → delete.
holdоткладывает. Ctrl+Cна tunnel не гасит GPU.
Модели
- Civitai-seed по
models.yaml(нуженCIVITAI_API_TOKEN, хостcivitai.red). - Локальные
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 не коммитить.
Languages
Python
96.5%
Shell
2.6%
PowerShell
0.8%