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

COPY fixes.py /tmp/fixes.py
RUN python3 /tmp/fixes.py

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"]