File size: 3,199 Bytes
ce45d75
 
 
 
 
ea83dff
ce45d75
 
 
ea83dff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ce45d75
 
 
 
 
 
ea83dff
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
FROM python:3.12-slim

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
        git curl ffmpeg libgl1 libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

RUN pip install --no-cache-dir \
        --extra-index-url https://download.pytorch.org/whl/cpu \
        "torch>=2.7" "torchvision" "torchaudio"

RUN git clone --depth 1 https://github.com/comfyanonymous/ComfyUI.git /app/ComfyUI \
    && pip install --no-cache-dir -r /app/ComfyUI/requirements.txt

RUN git clone --depth 1 https://github.com/city96/ComfyUI-GGUF.git \
        /app/ComfyUI/custom_nodes/ComfyUI-GGUF \
    && pip install --no-cache-dir -r /app/ComfyUI/custom_nodes/ComfyUI-GGUF/requirements.txt

RUN git clone --depth 1 https://github.com/Lightricks/ComfyUI-LTXVideo.git \
        /app/ComfyUI/custom_nodes/ComfyUI-LTXVideo \
    && (cd /app/ComfyUI/custom_nodes/ComfyUI-LTXVideo && pip install --no-cache-dir -r requirements.txt 2>/dev/null || true)

RUN git clone --depth 1 https://github.com/kijai/ComfyUI-KJNodes.git \
        /app/ComfyUI/custom_nodes/ComfyUI-KJNodes \
    && (cd /app/ComfyUI/custom_nodes/ComfyUI-KJNodes && pip install --no-cache-dir -r requirements.txt 2>/dev/null || true)

RUN pip install --no-cache-dir "gradio>=6,<7" huggingface_hub psutil websocket-client opencv-python-headless

RUN mkdir -p /app/ComfyUI/models/diffusion_models \
             /app/ComfyUI/models/text_encoders \
             /app/ComfyUI/models/vae \
             /app/ComfyUI/models/loras \
             /app/ComfyUI/output \
             /app/assets/videos

RUN hf download vantagewithai/LTX2.3-10Eros-GGUF 10Eros_v1-Q3_K_M.gguf --local-dir /tmp/hf_dl \
    && hf download TenStrip/LTX2.3_Distilled_Lora_1.1_Experiments ltx-2.3-22b-distilled-lora-1.1_fro90_ceil72_condsafe.safetensors --local-dir /tmp/hf_dl \
    && hf download mradermacher/gemma-3-12b-it-qat-abliterated-GGUF gemma-3-12b-it-qat-abliterated.Q3_K_M.gguf --local-dir /tmp/hf_dl \
    && hf download Kijai/LTX2.3_comfy text_encoders/ltx-2.3_text_projection_bf16.safetensors vae/taeltx2_3.safetensors vae/LTX23_video_vae_bf16.safetensors vae/LTX23_audio_vae_bf16.safetensors --local-dir /tmp/hf_dl \
    && ln -s /tmp/hf_dl/10Eros_v1-Q3_K_M.gguf /app/ComfyUI/models/diffusion_models/10Eros_v1-Q3_K_M.gguf \
    && ln -s /tmp/hf_dl/ltx-2.3-22b-distilled-lora-1.1_fro90_ceil72_condsafe.safetensors /app/ComfyUI/models/loras/ltx-2.3-22b-distilled-lora-1.1_fro90_ceil72_condsafe.safetensors \
    && ln -s /tmp/hf_dl/gemma-3-12b-it-qat-abliterated.Q3_K_M.gguf /app/ComfyUI/models/text_encoders/gemma-3-12b-it-qat-abliterated.Q3_K_M.gguf \
    && ln -s /tmp/hf_dl/text_encoders/ltx-2.3_text_projection_bf16.safetensors /app/ComfyUI/models/text_encoders/ltx-2.3_text_projection_bf16.safetensors \
    && ln -s /tmp/hf_dl/vae/taeltx2_3.safetensors /app/ComfyUI/models/vae/taeltx2_3.safetensors \
    && ln -s /tmp/hf_dl/vae/LTX23_video_vae_bf16.safetensors /app/ComfyUI/models/vae/LTX23_video_vae_bf16.safetensors \
    && ln -s /tmp/hf_dl/vae/LTX23_audio_vae_bf16.safetensors /app/ComfyUI/models/vae/LTX23_audio_vae_bf16.safetensors

COPY app.py /app/app.py
COPY README.md /app/README.md

EXPOSE 7860

CMD ["python", "-u", "/app/app.py"]