Files
gpu-rent/README.md
T
Leonid Pershin a563ae06c4 Bump version to 0.2.0 and enhance documentation
- 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.
2026-08-21 03:38:01 +03:00

84 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# gpu-rent
Прерываемый GPU в [Selectel](https://selectel.ru) + SwarmUI на `http://127.0.0.1:17801`.
Модели и ComfyUI живут на сетевом диске — платишь за GPU только пока он поднят.
**Сначала ключи и квота GPU, не `up`.** → [`docs/setup.md`](docs/setup.md)
---
## Быстрый старт
```powershell
.\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.
---
## Модели
1. Civitai-seed по `models.yaml` (нужен `CIVITAI_API_TOKEN`, хост `civitai.red`).
2. Локальные `Models/`, `Wildcards/`, `CustomWorkflows/` — непустые едут на каждый `up`.
Пример в репо уже с Krea 2 + LoRA — скопируй в `models.yaml`.
---
## Документация
| Док | Зачем |
| --- | --- |
| [docs/setup.md](docs/setup.md) | Ключи, квота, RC |
| [docs/spike-notes.md](docs/spike-notes.md) | Чеклист живого spike |
| [docs/cli.md](docs/cli.md) | Все команды и `.env` |
| [docs/decisions.md](docs/decisions.md) | Продуктовые решения |
| [docs/roadmap.md](docs/roadmap.md) | Что готово / что нет |
MIT. Секреты и веса в git не коммитить.