Files
ComfyUI-ARM64-Docker/comfyui-rocm-dockerfile
T
derek d25050ffb7
Docker Build and Release Upload / build-rocm (push) Failing after 3m54s
Push broken changes
2026-04-28 23:08:46 -07:00

95 lines
2.8 KiB
Plaintext

# Use the official ROCm base image
FROM ubuntu:26.04 AS reqs
# Set build variables
ENV PIP_BREAK_SYSTEM_PACKAGES=1
ENV PYTHONUNBUFFERED=1
ENV DEBIAN_FRONTEND=noninteractive
# Set path variables
ENV ROCM_PATH=/usr
ENV HIP_PATH=/usr
# Install libraries
RUN apt update -y && \
apt install -y --no-install-recommends \
rocm \
hipcc \
libhipblaslt-dev \
libomp-22-dev \
git \
cmake \
libnuma-dev \
build-essential \
zlib1g-dev \
libncurses5-dev \
libgdbm-dev \
libnss3-dev \
libssl-dev \
libreadline-dev \
libffi-dev \
libsqlite3-dev \
wget \
libbz2-dev \
liblzma-dev \
&& rm -rf /var/lib/apt/lists/*
# Build python3.12
FROM reqs AS python312
WORKDIR /build/python312
RUN wget https://www.python.org/ftp/python/3.12.9/Python-3.12.9.tgz && \
tar -xf Python-3.12.9.tgz && \
cd Python-3.12.9 && \
./configure --enable-optimizations && \
make -j 80 && \
make install && \
wget https://bootstrap.pypa.io/get-pip.py && \
python3 get-pip.py && \
ln -s /usr/local/bin/pip3 /bin/pip && \
ln -s /usr/local/bin/pip3 /bin/pip3 && \
ln -s /usr/local/bin/python3 /bin/python && \
ln -s /usr/local/bin/python3 /bin/python3.12
# Build pytorch
FROM python312 AS pytorch
ENV CMAKE_ARGS="$CMAKE_ARGS -DUSE_KINETO=OFF"
ENV PYTORCH_ROCM_ARCH=1100
ENV USE_ROCM=1
ENV USE_CUDA=0
ENV ROCM_PATH=/usr
ENV DEVICE_LIB_PATH=/usr/lib/llvm-21/lib/clang/21/amdgcn/bitcode
ENV CMAKE_ARGS="-DCMAKE_HIP_COMPILER_WORKS=1 \
-DCMAKE_CXX_COMPILER_WORKS=1 \
-DCMAKE_C_COMPILER_WORKS=1 \
-DCMAKE_HIP_COMPILER_ROCM_LIB_PATH=$DEVICE_LIB_PATH \
-DCMAKE_HIP_FLAGS=--rocm-device-lib-path=$DEVICE_LIB_PATH \
-DCMAKE_C_COMPILER=/usr/lib/llvm-21/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/lib/llvm-21/bin/clang++ \
-DCMAKE_HIP_COMPILER=/usr/lib/llvm-21/bin/clang++ \
-DUSE_KINETO=OFF \
-DUSE_OPENMP=OFF"
WORKDIR /build/pytorch
RUN git clone https://github.com/pytorch/pytorch.git && \
cd pytorch && \
git submodule update --init --recursive && \
make triton && \
python tools/amd_build/build_amd.py && \
pip install -r requirements.txt && \
export HIPFLAGS="--rocm-device-lib-path=$DEVICE_LIB_PATH" && \
export CMAKE_ARGS="-DCMAKE_HIP_FLAGS=--rocm-device-lib-path=$DEVICE_LIB_PATH -DCMAKE_HIP_COMPILER_ROCM_LIB_PATH=$DEVICE_LIB_PATH -DCMAKE_C_COMPILER=/usr/lib/llvm-21/bin/clang -DCMAKE_CXX_COMPILER=/usr/lib/llvm-21/bin/clang++ -DCMAKE_HIP_COMPILER=/usr/lib/llvm-21/bin/clang++" && \
python3 setup.py build && \
python3 setup.py install
# Build ComfyUI
FROM pytorch AS comfyui
RUN git clone https://github.com/comfyanonymous/ComfyUI.git .
# Install non torch dependant requirements
RUN pip3 install -r requirements.txt
# Setup Manager
WORKDIR /app/custom_nodes
RUN git clone https://github.com/Comfy-Org/ComfyUI-Manager.git
WORKDIR /app
EXPOSE 8188
CMD ["python3", "main.py", "--listen", "0.0.0.0"]