Image Gen AI/ComfyUI

ComfyUI - 우분투 환경에서 설치하는 방법

Vento AI 연구소 2026. 5. 1.
반응형

1. ComfyUI 개요

ComfyUI는 노드 기반(Flow-based) 인터페이스를 활용한 Stable Diffusion 실행·제어 도구이다. 기존의 명령어 입력(CLI) 또는 단순 WebUI와 달리, 시각적인 노드(블록) 연결 방식으로 이미지 생성 파이프라인을 구성할 수 있기 때문에 초보자부터 전문가까지 직관적으로 활용할 수 있다. 이미지를 어떤 방식으로 생성할 것인지를 시각적으로 설계할 수 있다.

Stable Diffusion WebUI(Automatic1111)를 사용하다가 ComfyUI를 사용하고 있다. Stable Diffusion WebUI는 직관적이고 사용이 간단하다. 다양한 플러그인과 프롬프트만으로 이미지를 생성할 수 있어서 편리했다. ComfyUI는 워크플로 기반으로 작업을 할 수 있어, 작업 흐름을 시작적으로 볼 수 있으며 유연하게 대응할 수 있다.

ComfyUI는 각각의 노드가 독립적인 기능을 수행하고 있고, 다양한 기능의 커스텀 노드를 추가할 수 있다. 이미지 생성의 세부 과정을 제어할 수 있다. 워크플로를 잘 만들어 두면 계속적으로 활용할 수 있는 점도 편리하다.

2. ComfyUI 특징

1) 노드 기반 워크플로우

Prompt, 모델, 업스케일러, VAE, ControlNet 등을 각각 노드로 구성.

노드 간 연결을 통해 원하는 구조의 이미지 생성 파이프라인 설계 가능.

2) 고도의 확장성과 커스터마이징

플러그인 설치를 통해 새로운 기능 추가 가능.

파라미터 조정 및 모듈 교체가 용이하여 연구·실험 환경에 최적화.

3) 성능 최적화

메모리 관리가 효율적이며 GPU 자원을 최소한으로 활용.

다른 WebUI보다 가볍게 구동되는 경우가 많음.

4) 비주얼 디버깅 가능

각 단계별 출력값을 노드 단위로 확인할 수 있어 문제 해결이 쉬움.

5) 활발한 커뮤니티

GitHub 및 Discord를 중심으로 빠르게 발전 중이며, 다양한 사용자 제작 노드가 공유되고 있음.

 

3. 설치 환경 확인

1) 우분투 버전 : Ubuntu 22.04.5 LTS

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
 

2) CUDA 버전 : 12.6

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Oct_29_23:50:19_PDT_2024
Cuda compilation tools, release 12.6, V12.6.85
Build cuda_12.6.r12.6/compiler.35059454_0
Every 0.5s: nvidia-smi                                         3d: Sun Sep 14 19:20:07 2025

Sun Sep 14 19:20:48 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.05              Driver Version: 560.35.05      CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| 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  Tesla T4                       On  |   00000000:31:00.0 Off |                    0 |
| N/A   46C    P0             29W /   70W |   10713MiB /  15360MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  Tesla T4                       On  |   00000000:B1:00.0 Off |                    0 |
| N/A   41C    P8             13W /   70W |       3MiB /  15360MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
 

3) 파이썬 버전 : 3.11.11

$ python -V
Python 3.11.11
 

 

4. ComfyUI 설치

1) ComfyUI - Git Clone

터미널에서 아래의 명령어로 ComfyUI를 Clone 한다. 명령어를 실행한 위치를 기준으로 ComfyUI 폴더가 생성된다.

$ git clone https://github.com/comfyanonymous/ComfyUI

 

GitHub - Comfy-Org/ComfyUI: The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. - Comfy-Org/ComfyUI

github.com

$ git clone https://github.com/comfyanonymous/ComfyUI
Cloning into 'ComfyUI'...
remote: Enumerating objects: 24245, done.
remote: Counting objects: 100% (107/107), done.
remote: Compressing objects: 100% (74/74), done.
remote: Total 24245 (delta 77), reused 33 (delta 33), pack-reused 24138 (from 2)
Receiving objects: 100% (24245/24245), 72.84 MiB | 11.01 MiB/s, done.
Resolving deltas: 100% (16295/16295), done.
 

2) 패키지 설치 (requirements.txt)

ComfyUI 디렉터리에 다음과 같은 파일이 생성되었다.

~/ComfyUI$ ll
total 452
drwxrwxr-x 23 naedam naedam  4096 Sep 14 19:23 ./
drwxr-x--- 20 naedam naedam  4096 Sep 14 19:23 ../
... (생략) ...
-rw-rw-r--  1 naedam naedam 14587 Sep 14 19:23 main.py
... (생략) ...
-rw-rw-r--  1 naedam naedam   421 Sep 14 19:23 requirements.txt
... (생략) ...
 
ComfyUI 디렉터리로 이동한 뒤 파이썬 패키지를 설치한다.
~/ComfyUI$ pip install -r requirements.txt
Collecting torch (from -r requirements.txt (line 1))
  Using cached torch-2.4.1-cp311-cp311-manylinux1_x86_64.whl.metadata (26 kB)
Collecting torchsde (from -r requirements.txt (line 2))
  Using cached torchsde-0.2.6-py3-none-any.whl.metadata (5.3 kB)
Collecting torchvision (from -r requirements.txt (line 3))
  Using cached torchvision-0.19.1-cp311-cp311-manylinux1_x86_64.whl.metadata (6.0 kB)
Collecting torchaudio (from -r requirements.txt (line 4))
  Downloading torchaudio-2.4.1-cp311-cp311-manylinux1_x86_64.whl.metadata (6.4 kB)
Collecting einops (from -r requirements.txt (line 5))
  Using cached einops-0.8.0-py3-none-any.whl.metadata (12 kB)
Collecting transformers>=4.28.1 (from -r requirements.txt (line 6))
  Downloading transformers-4.45.1-py3-none-any.whl.metadata (44 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.4/44.4 kB 3.1 MB/s eta 0:00:00
...(중략)...

 

3) ComfyUI 실행

다음의 명령어로 ComfyUI를 실행한다. 17870포트로 외부에서 접근할 수 있게 실행했다.

> python main.py --listen 0.0.0.0 --port=17870

[START] Security scan
Using Python 3.11.11 environment
[DONE] Security scan
## ComfyUI-Manager: installing dependencies done.
** ComfyUI startup time: 2025-09-14 19:32:48.257
** Platform: Linux
** Python version: 3.11.11 (main, Dec 16 2024, 16:50:27) [GCC 11.4.0]

...(생략) ...

Checkpoint files will always be loaded safely.
Total VRAM 14916 MB, total RAM 257572 MB
pytorch version: 2.8.0+cu128
xformers version: 0.0.32.post2
Enabled fp16 accumulation.
Set vram state to: NORMAL_VRAM
Device: cuda:0 Tesla T4 : cudaMallocAsync
Using xformers attention
Python version: 3.11.11 (main, Dec 16 2024, 16:50:27) [GCC 11.4.0]
ComfyUI version: 0.3.59
ComfyUI frontend version: 1.26.11

...(생략) ...

Context impl SQLiteImpl.
Will assume non-transactional DDL.
No target revision found.
Starting server

To see the GUI go to: http://0.0.0.0:17870

 

4) ComfyUI 확인

ComfyUI의 Hello World라고 할 수 있는 default 워크플로우로 이미지를 생성해 본다.

5. ComfyUI/models 폴더

다운로드한 모델들은 ComfyUI를 사용한 이미지 생성 작업에 필수적이며, 각 모델은 이미지 생성 과정에서 특정 역할을 수행한다. 사용자는 이 모델들을 조합하여 다양한 결과를 얻을 수 있다. 모델을 다운로드할 때는 신뢰할 수 있는 출처를 이용하는 것이 중요하다.

  • checkpoints, vae, unet → Stable Diffusion 핵심 모델
  • clip, text_encoders, embeddings → 텍스트/임베딩 관련
  • controlnet, loras, hypernetworks, gligen, photomaker, sams → 확장 기능 모델
  • upscale_models, style_models → 후처리/스타일링 모델
  • onnx, configs, model_patches → 환경/설정 관련
ComfyUI/models
.
├── audio_encoders    
├── checkpoints       # Stable Diffusion의 메인 모델(.ckpt, .safetensors) 저장.
├── clip              # CLIP 텍스트 인코더 모델. 프롬프트 문장을 벡터로 변환.
├── clip_vision       # CLIP Vision 모델. 이미지 입력을 텍스트와 매칭하거나 분석할 때 사용.
├── configs           # 모델 설정 파일(.yaml 등). 모델 아키텍처와 파라미터 정의.
├── controlnet        # ControlNet 모델 저장. 포즈, 에지, 깊이맵 등을 기반으로 이미지 제어 가능.
├── diffusers         
├── diffusion_models  # Hugging Face Diffusers 호환 모델이나 커스텀 디퓨전 모델 저장.
├── embeddings        # Textual Inversion 임베딩(.pt, .bin). 스타일이나 객체를 불러오기 위해 사용.
├── gligen            # GLIGEN 모델 저장. bounding box 기반으로 이미지 속 객체 배치를 제어하는 데 사용.
├── hypernetworks     # 하이퍼네트워크 모델 저장. 프롬프트 반응성을 조절하거나 특정 효과를 내는 데 활용.
├── loras             # LoRA(Low-Rank Adaptation) 모델 저장. 화풍, 캐릭터, 스타일을 쉽게 반영 가능.
├── model_patches     # 모델의 버그 수정이나 기능 확장을 위한 패치 파일 저장.
├── onnx              # ONNX(Open Neural Network Exchange) 형식 모델 저장. C특정 환경에서 활용.
├── photomaker        # PhotoMaker 관련 모델 저장. (예: 얼굴 합성·스타일 변환 같은 고급 기능 제공)
├── sams              # Segment Anything Model(SAM) 저장. 이미지 영역 분할·마스크 생성에 활용.
├── style_models      # 화풍 변환(style transfer) 모델 저장.
├── text_encoders     # 다양한 텍스트 인코더 모델 저장. (예: OpenCLIP, T5 등)
├── unet              # UNet 아키텍처 기반 모델 저장. 이미지의 실제 디퓨전 프로세스에 핵심적으로 사용.  
├── upscale_models    # 이미지 업스케일링 모델 저장 (예: ESRGAN, SwinIR). 고해상도로 변환할 때 사용.
├── vae               # VAE(Variational Autoencoder) 모델 저장. 색감이나 디테일 복원에 큰 영향을 미침.
└── vae_approx        # 경량화된 VAE 모델 저장. 속도 향상이 필요할 때 간이 복원에 활용.

 

댓글