create deployment for ComfyUI
This commit is contained in:
parent
7f3b6e7240
commit
09d96bdc06
|
@ -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 []
|
|
@ -0,0 +1,2 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
|
@ -1,6 +1,10 @@
|
||||||
services:
|
services:
|
||||||
stable-diffusion-webui-forge:
|
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
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- HSA_OVERRIDE_GFX_VERSION=11.0.0
|
- HSA_OVERRIDE_GFX_VERSION=11.0.0
|
||||||
|
@ -10,8 +14,8 @@ services:
|
||||||
- /dev/kfd
|
- /dev/kfd
|
||||||
- /dev/dri
|
- /dev/dri
|
||||||
volumes:
|
volumes:
|
||||||
- ./shared/lora:/app/models/Lora
|
- ./shared/loras:/app/models/Lora
|
||||||
- ./shared/tensors:/app/models/Stable-diffusion
|
- ./shared/checkpoints:/app/models/Stable-diffusion
|
||||||
- ./shared/vae/:/app/models/VAE
|
- ./shared/vae/:/app/models/VAE
|
||||||
- ./shared/embeddings:/app/embeddings
|
- ./shared/embeddings:/app/embeddings
|
||||||
- ./stable-diffusion-webui-forge/extensions:/app/extensions
|
- ./stable-diffusion-webui-forge/extensions:/app/extensions
|
||||||
|
@ -25,3 +29,31 @@ services:
|
||||||
- SYS_PTRACE
|
- SYS_PTRACE
|
||||||
security_opt:
|
security_opt:
|
||||||
- seccomp=unconfined
|
- 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
|
|
@ -0,0 +1,2 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
|
@ -0,0 +1,2 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
|
@ -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
|
# 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}
|
FROM rocm/rocm-terminal:${ROCM_VERSION}
|
||||||
|
|
||||||
ARG PYTHON_VERSION
|
ARG PYTHON_VERSION
|
||||||
ARG ROCM_VERSION
|
ARG ROCM_VERSION
|
||||||
|
|
||||||
|
@ -22,13 +23,11 @@ RUN apt update \
|
||||||
&& chown -R 1000:1000 /app \
|
&& chown -R 1000:1000 /app \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# switch back to unpreviledged user
|
|
||||||
USER 1000
|
|
||||||
|
|
||||||
RUN python${PYTHON_VERSION} -m venv /app/env \
|
RUN python${PYTHON_VERSION} -m venv /app/env \
|
||||||
&& sed -i'' -Ee "s/rocm[0-9]\.[0-9]/rocm${ROCM_VERSION}/g" webui.sh \
|
&& 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/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 -r requirements_versions.txt
|
||||||
|
|
||||||
VOLUME ["/app/models/Lora", "/app/models/Stable-diffusion", "/app/models/VAE"]
|
VOLUME ["/app/models/Lora", "/app/models/Stable-diffusion", "/app/models/VAE"]
|
||||||
VOLUME ["/app/embeddings"]
|
VOLUME ["/app/embeddings"]
|
||||||
|
|
Loading…
Reference in New Issue