Files
comfyui/Dockerfile
T

40 lines
1.6 KiB
Docker

FROM docker.io/library/python:3.13-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
git libgl1 libglib2.0-0 libsm6 libxext6 libgomp1 \
&& rm -rf /var/lib/apt/lists/*
ENV GIT_TERMINAL_PROMPT=0
WORKDIR /app
RUN git clone --depth 1 https://github.com/comfyanonymous/ComfyUI . \
&& pip install --no-cache-dir torch torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cpu \
&& pip install --no-cache-dir -r requirements.txt
RUN cd /app/custom_nodes \
&& git clone --depth 1 https://github.com/city96/ComfyUI-GGUF \
&& pip install --no-cache-dir -r ComfyUI-GGUF/requirements.txt
RUN cd /app/custom_nodes \
&& git clone --depth 1 https://github.com/XLabs-AI/x-flux-comfyui \
&& pip install --no-cache-dir -r x-flux-comfyui/requirements.txt
# Fix: xflux DoubleStreamBlock.forward must accept attn_mask kwarg passed by ComfyUI
RUN python3 -c "
path = '/app/custom_nodes/x-flux-comfyui/xflux/src/flux/modules/layers.py'
with open(path) as f: c = f.read()
old = ' def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor) -> tuple[Tensor, Tensor]:\n return self.processor(self, img, txt, vec, pe)'
new = ' def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor, attn_mask=None, transformer_options={}, **kwargs):\n return self.processor(self, img, txt, vec, pe)'
assert old in c, 'Pattern not found!'
with open(path, 'w') as f: f.write(c.replace(old, new))
print('Patch applied')
"
RUN useradd -u 1000 -m comfyui && chown -R 1000:1000 /app
USER 1000
EXPOSE 8188
CMD ["python", "main.py", "--listen", "0.0.0.0", "--port", "8188", "--cpu"]