Установка Stable Diffusion + ComfyUI

от автора

Дисклеймер

Я пишу эту статью, как туториал для себя (на случай, если придётся переустанавливать) и для друзей. Все это, конечно же, можно нагуглить, но только что уже это сделал, погуглил, початогепетил и собрал результаты в виде одной инструкции. Возможно, кому-то полезно будет.

Я не являюсь опытным пользователем нейросетей, это мой первый опыт установки и использования, но он может быть полезен, т.к. я прошелся по граблям и нашёл рабочий вариант. Советы и указания на косяки приветствуются.

Подготовка

Мои исходные данные: OS: Linux Mint 22 x86_64, GPU: NVIDIA 5070 Ti, установлен NVIDIA driver 570.153.02.

Сначала проверяем, что установлен Python ≥ 3.9:

python3 --version 

и устанавливаем необходимые пакеты:

sudo apt update sudo apt install python3-pip python3-venv git cmake xdg-utils 

Проверяем корректную работу GPU командой:

$ nvidia-smi Sat Jun 21 11:07:37 2025        +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 570.153.02             Driver Version: 570.153.02     CUDA Version: 12.8     | |-----------------------------------------+------------------------+----------------------+ | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC | | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. | |                                         |                        |               MIG M. | |=========================================+========================+======================| |   0  NVIDIA GeForce RTX 5070 Ti     Off |   00000000:01:00.0  On |                  N/A | |  0%   51C    P5             34W /  300W |    1443MiB /  16303MiB |     21%      Default | |                                         |                        |                  N/A | +-----------------------------------------+------------------------+----------------------+  

Нам нужно убедиться, что отображается CUDA, и устройство определяется.

Установка

Дальше будем всё ставить с помощью Comfy CLI, насколько я понял, это рекомендованный способ.

Создаём и активируем виртуальное окружение:

python3 -m venv comfy-env source comfy-env/bin/activate 

Ставим Comfy CLI:

pip install comfy-cli 

Ставим сам ComfyUI

comfy install 

Ставим PyTorch с поддержкой CUDA

Важно подобрать правильный индекс-URL для вашей CUDA. Я, конечно же, по совету ChatGPT поставил не ту версию и ничего не заработало. Для CUDA Version: 12.8 правильный вариант такой:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128 

Нашёл это решение тут https://github.com/comfyanonymous/ComfyUI/issues/7127#issuecomment-2746096337

Проверяем GPU на Python, предварительно убедившись, что используем правильное окружение

$ which python <home>/comfy-env/bin/python $ python Python 3.12.3 (main, May 26 2025, 18:50:19) [GCC 13.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> print(torch.cuda.is_available()) True >>> print(torch.version.cuda) 12.8 >>>  

Ставим модели Stable Diffusion

comfy model download --url <URL> --relative-path models/checkpoints 

Я сразу поставил sd_xl_base_1.0.safetensors и sd_xl_refiner_1.0.safetensors Зачем нужен refiner и как его использовать, напишу позже, я пока играюсь и заметку по этому поводу ещё не доделал.

Запускаем ComfyUI

comfy launch 

В браузере идём сюда:

http://localhost:8188 

Выбираем базовый шаблон workflow по генерации изображения, указываем скачанную модель, убеждаемся, что всё работает:

Только работать оно будет до первой перезагрузки, что не очень здорово. Исправим это.

Systemd‑сервис для ComfyUI

Создаём сервис

sudo vim /etc/systemd/system/comfyui.service 

с таким содержимым:

[Unit] Description=ComfyUI Stable Diffusion Server After=network-online.target Wants=network-online.target  [Service] Type=simple User=<user> WorkingDirectory=<home>/comfy/ComfyUi ExecStart=<home>/comfy/start-comfyui.sh Restart=always RestartSec=5  [Install] WantedBy=multi-user.target 

Создаём скрипт start-comfyui.sh

#!/bin/bash  source <home>/comfy-env/bin/activate cd <home>/comfy/ComfyUi exec python main.py --listen 0.0.0.0 

Делаем его исполняемым

chmod +x ~/comfy/start-comfyui.sh 

Активируем сервис

sudo systemctl daemon-reload sudo systemctl enable comfyui sudo systemctl start comfyui 

и проверяем, что всё работает

$ systemctl status comfyui ● comfyui.service - ComfyUI Stable Diffusion Server      Loaded: loaded (/etc/systemd/system/comfyui.service; enabled; preset: enabled)      Active: active (running) since Tue 2025-06-17 15:12:03 CST; 3 days ago    Main PID: 2127 (python)       Tasks: 63 (limit: 76101)      Memory: 16.4G (peak: 16.8G swap: 91.5M swap peak: 177.9M)         CPU: 4min 5.076s      CGroup: /system.slice/comfyui.service              └─2127 python main.py --listen 0.0.0.0  

По умолчанию ComfyUI запускается на порту 8188, поменять можно, указав параметр --port.

Если после перезагрузки или вообще что-то идёт не так, как запланировано

Проверяем, что сервис живой:

systemctl is-active comfyui 

и смотрим последние логи, например, так:

journalctl -u comfyui --since "15 minutes ago" 

На этом пока всё. Замечаниям, уточнениям, советам всегда рад.


ссылка на оригинал статьи https://habr.com/ru/articles/920658/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *