# Use the official ROCm base image
FROM rocm/dev-ubuntu-24.04:6.2

# Set environment variables for 7900 XTX (gfx1100)
ENV HSA_OVERRIDE_GFX_VERSION=11.0.0
ENV TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1
ENV PYTHONUNBUFFERED=1

# Install system dependencies
RUN apk add --no-cache \
    python3 \
    py3-pip \
    git \
    mesa-gles \
    glib \
    && rm -rf /var/cache/apk/*

# Set working directory
WORKDIR /app

# Clone ComfyUI
RUN git clone https://github.com/comfyanonymous/ComfyUI.git .

# Install PyTorch with ROCm 6.2 support (matching the base image)
RUN pip3 install --no-cache-dir torch torchvision torchaudio \
    --index-url https://download.pytorch.org/whl/rocm6.2

# Install ComfyUI dependencies
RUN pip3 install --no-cache-dir -r requirements.txt

# Set custom Nodes
WORKDIR /app/custom_nodes

# Install ComfyUi Manager
RUN git clone https://github.com/Comfy-Org/ComfyUI-Manager.git

# Go back to root
WORKDIR /app

# Expose the default ComfyUI port
EXPOSE 8188

# Launch ComfyUI
CMD ["python3", "main.py", "--listen", "0.0.0.0"]
