1
0
Fork 0

create deployment for ComfyUI

This commit is contained in:
Massaki Archambault 2024-08-26 22:55:09 -04:00
parent 7f3b6e7240
commit 09d96bdc06
8 changed files with 80 additions and 7 deletions

36
ComfyUI/Dockerfile Normal file
View File

@ -0,0 +1,36 @@
ARG PYTHON_VERSION=3.10
ARG ROCM_VERSION=6.1
# we do not use rocm/pytorch as it currently use python 3.7 and we require >=python 3.10
FROM rocm/rocm-terminal:${ROCM_VERSION}
ARG PYTHON_VERSION
ARG ROCM_VERSION
# switch to root for setup
USER root
RUN git clone https://github.com/comfyanonymous/ComfyUI.git /app
WORKDIR /app
RUN apt update \
&& apt upgrade -y \
&& apt install -y software-properties-common \
&& add-apt-repository ppa:deadsnakes/ppa \
&& apt update \
&& apt install -y python${PYTHON_VERSION}-full \
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python${PYTHON_VERSION} \
&& chown -R 1000:1000 /app \
&& rm -rf /var/lib/apt/lists/*
# switch back to unpreviledged user
USER 1000
RUN python${PYTHON_VERSION} -m venv /app/env \
&& /app/env/bin/pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm${ROCM_VERSION} \
&& /app/env/bin/pip install --no-cache-dir -r requirements.txt
VOLUME ["/app/models/loras", "/app/models/checkpoints", "/app/models/vae", "/app/models/embeddings"]
VOLUME ["/app/outputs"]
EXPOSE 8188
ENV PYTORCH_CUDA_ALLOC_CONF="garbage_collection_threshold:0.9,max_split_size_mb:512"
ENTRYPOINT ["/app/env/bin/python", "main.py", "--listen"]
CMD []

2
ComfyUI/outputs/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

View File

@ -1,6 +1,10 @@
services:
stable-diffusion-webui-forge:
build: ./stable-diffusion-webui-forge
build:
context: ./stable-diffusion-webui-forge
args: &buid_args
PYTHON_VERSION: "3.10"
ROCM_VERSION: "6.1"
restart: unless-stopped
environment:
- HSA_OVERRIDE_GFX_VERSION=11.0.0
@ -10,8 +14,8 @@ services:
- /dev/kfd
- /dev/dri
volumes:
- ./shared/lora:/app/models/Lora
- ./shared/tensors:/app/models/Stable-diffusion
- ./shared/loras:/app/models/Lora
- ./shared/checkpoints:/app/models/Stable-diffusion
- ./shared/vae/:/app/models/VAE
- ./shared/embeddings:/app/embeddings
- ./stable-diffusion-webui-forge/extensions:/app/extensions
@ -25,3 +29,31 @@ services:
- SYS_PTRACE
security_opt:
- seccomp=unconfined
comfyui:
build:
context: ./ComfyUI
args:
<<: *buid_args
restart: unless-stopped
environment:
- HSA_OVERRIDE_GFX_VERSION=11.0.0
ports:
- 8188:8188
devices:
- /dev/kfd
- /dev/dri
volumes:
- ./shared/loras:/app/models/loras
- ./shared/checkpoints:/app/models/checkpoints
- ./shared/vae/:/app/models/vae
- ./shared/embeddings:/app/models/embeddings
- ./ComfyUI/custom_nodes:/app/custom_nodes
- ./ComfyUI/outputs:/app/output
- ./ComfyUI/inputs:/app/input
group_add:
- video
ipc: host
cap_add:
- SYS_PTRACE
security_opt:
- seccomp=unconfined

2
shared/checkpoints/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

2
shared/loras/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

View File

@ -3,6 +3,7 @@ ARG ROCM_VERSION=6.1
# we do not use rocm/pytorch as it currently use python 3.7 and we require >=python 3.10
FROM rocm/rocm-terminal:${ROCM_VERSION}
ARG PYTHON_VERSION
ARG ROCM_VERSION
@ -22,13 +23,11 @@ RUN apt update \
&& chown -R 1000:1000 /app \
&& rm -rf /var/lib/apt/lists/*
# switch back to unpreviledged user
USER 1000
RUN python${PYTHON_VERSION} -m venv /app/env \
&& sed -i'' -Ee "s/rocm[0-9]\.[0-9]/rocm${ROCM_VERSION}/g" webui.sh \
&& /app/env/bin/python -m pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm${ROCM_VERSION} \
&& /app/env/bin/python -m pip install --no-cache-dir -r requirements_versions.txt
&& /app/env/bin/pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm${ROCM_VERSION} \
&& /app/env/bin/pip install --no-cache-dir -r requirements_versions.txt
VOLUME ["/app/models/Lora", "/app/models/Stable-diffusion", "/app/models/VAE"]
VOLUME ["/app/embeddings"]