# gpu-rent Локальный CLI: прерываемый GPU в [Selectel](https://selectel.ru), SwarmUI через туннель на `localhost:17801`. Модели живут на сетевых дисках. **Сначала ключи и квота — не `up`.** Пошагово: [`docs/setup.md`](docs/setup.md). Спецификация: [`docs/`](docs/README.md). Решения: [`docs/decisions.md`](docs/decisions.md). ## Что уже можно запустить Windows (cmd или двойной клик): `gpu-rent.bat` PowerShell: `.\gpu-rent.ps1` Linux / macOS / Git Bash: `./gpu-rent.sh` Скрипты сами создают `.venv`, ставят пакет и прокидывают аргументы. Активировать окружение не нужно. ```powershell .\gpu-rent.ps1 doctor .\gpu-rent.ps1 dry-run .\gpu-rent.ps1 status # если doctor зелёный и квота GPU > 0: .\gpu-rent.ps1 up --yes .\gpu-rent.ps1 tunnel .\gpu-rent.ps1 stop ``` ```bash chmod +x gpu-rent.sh # один раз на Unix ./gpu-rent.sh doctor ``` Ключи: скопируй `env.example` в `%USERPROFILE%\.gpu-rent\.env` (скрипт сделает это сам при первом запуске) и заполни `OS_*` по [`docs/setup.md`](docs/setup.md). `up` поднимает compute и ставит SwarmUI нативно (`launch-linux.sh` + systemd). `tunnel` пробрасывает `localhost:17801`. `stop` гасит GPU, диски оставляет. ## Зачем какие ключи | Что | Зачем | Как получить | | --- | --- | --- | | Сервисный пользователь Selectel + пароль | OpenStack: VM, диски, сеть. IAM-токен на 24 ч CLI берёт сам | IAM → Service users. **Не** X-Token из профиля | | `OS_PROJECT_ID`, номер аккаунта, пул, AZ | Scope токена и куда ставить GPU | RC-файл с вкладки Access + матрица GPU | | Тикет в поддержку | Лимит GPU часто 0 | Текст в docs/setup.md | | Civitai API token | Seed моделей | [civitai.com/user/account](https://civitai.com/user/account) → API Keys | | GitHub PAT | Только приватные репы в `extensions.yaml` | Fine-grained, Contents: Read | Статический `X-Token` панели **не умеет** создавать облачные серверы. ## Продукт - GPU по умолчанию preemptible; гасится `stop` или idle-killer на VM (`hold` откладывает killer). - Первый диск: модели с Civitai по `models.yaml`, если задан API-токен; иначе дефолт SwarmUI. - Локальные папки: непустые `Models/`, `Wildcards/`, `CustomWorkflows/` едут на `up`; `Output/` можно забрать (`PULL_OUTPUT`). - Расширения: git-репы из `extensions.yaml` на первый bootstrap. - Autocomplete: `Data/Autocompletions` + проверка новой версии csv на каждом `up`. - `doctor` до create; фоллбек GPU flavor; toast когда UI готов; `open` на 17801. - Локальный SwarmUI на порту 7801 не занимает. - Прерывание хостером: `EXPIRED` → `unshelve`. Лицензия MIT. Секреты и веса в git не класть.