File size: 4,990 Bytes
7e7066b
c64ef3b
7e7066b
c64ef3b
4ab343c
c64ef3b
5fac34d
c64ef3b
 
 
7165105
c64ef3b
d5d78fd
 
7e7066b
7165105
5fac34d
 
 
 
 
 
 
7165105
5fac34d
 
7165105
 
5fac34d
7165105
 
5fac34d
7165105
 
 
 
5fac34d
7165105
5fac34d
 
 
 
 
 
c64ef3b
5fac34d
 
7e7066b
7165105
7e7066b
5fac34d
 
 
 
 
 
 
 
 
 
7165105
 
 
 
 
 
 
 
 
5fac34d
 
7e7066b
7165105
c64ef3b
7165105
4f48ce4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
FROM python:3.11-slim

WORKDIR /app

# 1. ติดตั้ง System Dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
    git git-lfs curl ffmpeg libgl1 libglib2.0-0 wget \
    && rm -rf /var/lib/apt/lists/* \
    && git lfs install

# 2. ติดตั้ง PyTorch 2.5.1 (สำคัญมาก! เพื่อแก้ Error comfy-kitchen ใน 2.6.0)
RUN pip install --no-cache-dir \
    --extra-index-url https://download.pytorch.org/whl/cpu \
    "torch==2.5.1" "torchvision==0.20.1" "torchaudio==2.5.1"

# 3. Clone ComfyUI และติดตั้ง Requirements
RUN git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git /app/ComfyUI \
    && pip install --no-cache-dir -r /app/ComfyUI/requirements.txt

# 4. ติดตั้ง Custom Nodes ที่จำเป็น
RUN cd /app/ComfyUI/custom_nodes && \
    git clone --depth 1 https://github.com/ltdrdata/ComfyUI-Manager.git && \
    git clone --depth 1 https://github.com/city96/ComfyUI-GGUF.git && \
    git clone --depth 1 https://github.com/crystian/ComfyUI-Crystools.git && \
    git clone --depth 1 https://github.com/rgthree/rgthree-comfy.git && \
    git clone --depth 1 https://github.com/ty0x2333/ComfyUI-Dev-Utils.git && \
    git clone --depth 1 https://github.com/XLabs-AI/x-flux-comfyui.git && \
    git clone --depth 1 https://github.com/willmiao/ComfyUI-Lora-Manager.git && \
    git clone --depth 1 https://github.com/kijai/ComfyUI-KJNodes.git && \
    git clone --depth 1 https://github.com/lquesada/ComfyUI-Inpaint-CropAndStitch.git && \
    git clone --depth 1 https://github.com/gseth/ControlAltAI-Nodes.git && \
    git clone --depth 1 https://github.com/ssitu/ComfyUI_UltimateSDUpscale --recursive && \
    git clone --depth 1 https://github.com/nicolab28/ComfyUI-ClipProj.git && \
    git clone --depth 1 https://github.com/ethanfel/ComfyUI-Krea2TextEncoder.git && \
    git clone --depth 1 https://github.com/LAOGOU-666/Comfyui-Memory_Cleanup.git && \
    git clone --depth 1 https://github.com/KLL535/ComfyUI_SimpleButcher.git

# ติดตั้ง requirements ของ custom nodes
RUN cd /app/ComfyUI/custom_nodes/ComfyUI-GGUF && pip install --no-cache-dir -r requirements.txt || true
RUN cd /app/ComfyUI/custom_nodes/ComfyUI-Crystools && pip install --no-cache-dir -r requirements.txt || true
RUN cd /app/ComfyUI/custom_nodes/rgthree-comfy && pip install --no-cache-dir -r requirements.txt || true
RUN cd /app/ComfyUI/custom_nodes/ComfyUI-KJNodes && pip install --no-cache-dir -r requirements.txt || true

# 5. ติดตั้ง Python Packages เพิ่มเติม (เพิ่ม color-matcher สำหรับ Node ColorMatch)
RUN pip install --no-cache-dir \
    huggingface_hub psutil websocket-client opencv-python-headless \
    einops transformers safetensors color-matcher

# 6. สร้างโครงสร้างโฟลเดอร์
RUN mkdir -p /app/ComfyUI/models/checkpoints \
    /app/ComfyUI/models/diffusion_models \
    /app/ComfyUI/models/unet \
    /app/ComfyUI/models/text_encoders \
    /app/ComfyUI/models/llm \
    /app/ComfyUI/models/vae \
    /app/ComfyUI/models/loras \
    /app/ComfyUI/models/controlnet \
    /app/ComfyUI/models/upscale_models \
    /app/ComfyUI/output

# 7. ดาวน์โหลดโมเดลทั้งหมดที่ Workflow ต้องการ (ใช้ wget เพื่อป้องกัน RAM พุ่ง)
RUN wget -c https://huggingface.co/lilcheaty/Krea2-INT8-ConvRot/resolve/main/Krea2-Turbo-int8-ConvRot.safetensors -P /app/ComfyUI/models/diffusion_models/
RUN wget -c https://huggingface.co/Comfy-Org/flux2-klein-4B/resolve/main/split_files/diffusion_models/flux-2-klein-4b-nvfp4.safetensors -P /app/ComfyUI/models/diffusion_models/
RUN wget -c https://huggingface.co/DreamFast/qwen3-4b-heretic/resolve/main/comfyui/qwen3-4b-heretic_nvfp4.safetensors -P /app/ComfyUI/models/text_encoders/
RUN wget -c https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors -P /app/ComfyUI/models/text_encoders/
RUN wget -c https://huggingface.co/Comfy-Org/z_image_turbo/resolve/main/split_files/vae/ae.safetensors -P /app/ComfyUI/models/vae/
RUN wget -c https://huggingface.co/Comfy-Org/flux2-dev/resolve/main/split_files/vae/flux2-vae.safetensors -P /app/ComfyUI/models/vae/
RUN wget -c https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors -P /app/ComfyUI/models/vae/
RUN wget -c https://huggingface.co/ABDALLALSWAITI/Upscalers/resolve/main/photo/4xNomosWebPhoto_RealPLKSR.pth -P /app/ComfyUI/models/upscale_models/

# 8. Health Check
HEALTHCHECK --interval=30s --timeout=30s --start-period=10s --retries=3 \
    CMD curl -f http://localhost:7860/ || exit 1

# 9. คำสั่งเริ่มต้น
CMD ["python", "-u", "/app/ComfyUI/main.py", "--cpu", "--listen", "0.0.0.0", "--port", "7860", "--output-directory", "/app/ComfyUI/output", "--disable-smart-memory"]