56 lines
3.2 KiB
Markdown
56 lines
3.2 KiB
Markdown
# SwarmUI на GPU-сервере
|
||
|
||
Репозиторий: [mcmonkeyprojects/SwarmUI](https://github.com/mcmonkeyprojects/SwarmUI).
|
||
|
||
**Без Docker.** На VM процесс слушает **7801** на loopback (`launch-linux.sh`). На ноутбуке туннель — **17801**.
|
||
|
||
## Чего нет
|
||
|
||
- Docker, nvidia-container-toolkit, образа на Docker Hub.
|
||
- Порта 7860 (это Automatic1111).
|
||
- Зеркала **локального** SwarmUI. С ноутбука едут только деревья приложения: [local-folders.md](local-folders.md). Первый Civitai-seed — [models.md](models.md).
|
||
|
||
## Bootstrap (один раз на boot volume)
|
||
|
||
1. Образ Selectel **Ubuntu 24.04 LTS GPU Driver 580** (без Docker в имени, см. [selectel.md](selectel.md)).
|
||
2. Git clone SwarmUI в `/opt/swarmui`. .NET — `launchtools/linux-dotnet-install.sh` (SDK 8 и 10, как в доке SwarmUI).
|
||
3. Bind-mounts с data volume в дерево `/opt/swarmui` — таблица в [architecture.md](architecture.md).
|
||
4. Clone git-расширений из манифеста ([extensions.md](extensions.md)), если файл не пустой.
|
||
5. Word-list autocomplete в `Data/Autocompletions` и `DefaultUser.AutoComplete.Source` ([autocomplete.md](autocomplete.md)).
|
||
6. Если есть Civitai-токен и манифест моделей: seed весов **до** первого старта SwarmUI; иначе — дефолтная модель установщика.
|
||
7. Push непустых `Models/` / `Wildcards/` / `CustomWorkflows/`.
|
||
8. systemd unit `swarmui`: `./launch-linux.sh --launch_mode none --host 127.0.0.1 --port 7801`.
|
||
9. Авторизация SwarmUI включена, токен в `Data` на диске.
|
||
10. systemd unit idle-killer **после** seed и backend Idle.
|
||
11. Один snapshot boot volume `gpu-rent-boot-ok`, если ещё нет.
|
||
|
||
Рестарт UI: `systemctl restart swarmui`, не `docker restart`.
|
||
|
||
## ComfyUI
|
||
|
||
Первый запуск качает backend в `/opt/swarmui/dlbackend` (это bind на data volume). Иначе каждый recreate потеряет часы.
|
||
|
||
Пока CUDA/ComfyUI поднимаются, UI уже может отвечать. Для MCP и `/API/` — рано: `ready` после Idle backend (подтвердить на spike).
|
||
|
||
## Доступ с ноутбука
|
||
|
||
Пока запущен `gpu-rent tunnel`:
|
||
|
||
| Что | URL |
|
||
| --- | --- |
|
||
| UI | `http://127.0.0.1:17801` |
|
||
| HTTP API | `http://127.0.0.1:17801/API/` |
|
||
| MCP | `http://127.0.0.1:17801/mcp` |
|
||
|
||
Локальный инстанс на 7801 продолжает жить. В Cursor MCP на время сессии переключают на 17801 (вручную по сниппету CLI).
|
||
|
||
Без туннеля API с ноутбука недоступен: 7801 на VM не опубликован в интернет.
|
||
|
||
## Чего не делать
|
||
|
||
- `chmod -R 777` на Models.
|
||
- Слушать 7801 на `0.0.0.0`.
|
||
- Ставить Docker «на всякий случай».
|
||
- Считать Nova `ACTIVE` = можно генерировать.
|
||
- `apt upgrade` ядра (ломает nvidia-smi).
|