feat:添加sd-comfyui到列表
This commit is contained in:
32
apps/sd-comfyui/latest/comfy/Dockerfile
Normal file
32
apps/sd-comfyui/latest/comfy/Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV PIP_PREFER_BINARY=1
|
||||
ENV ROOT=/apt
|
||||
|
||||
RUN mkdir ${ROOT}
|
||||
WORKDIR ${ROOT}
|
||||
|
||||
# Install Essential Packages (APT)
|
||||
RUN apt-get update && apt-get install -y git python3 python3-pip && apt-get clean
|
||||
|
||||
# Get Comfy
|
||||
RUN git clone https://github.com/comfyanonymous/ComfyUI.git .
|
||||
|
||||
# Install Essential Packages (PIP)
|
||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 && \
|
||||
pip install -r requirements.txt && \
|
||||
pip install --pre xformers && \
|
||||
pip install triton
|
||||
|
||||
# Setting up
|
||||
COPY entrypoint.sh /docker/entrypoint.sh
|
||||
RUN chmod +x /docker/entrypoint.sh
|
||||
ENTRYPOINT ["/docker/entrypoint.sh"]
|
||||
|
||||
ENV PYTHONPATH="${PYTHONPATH}:${PWD}"
|
||||
|
||||
CMD test -z "${APT_ARGS}" || apt-get -y install ${APT_ARGS} \
|
||||
&& test -z "${PIP_ARGS}" || pip install ${PIP_ARGS} \
|
||||
&& python3 -u main.py ${CLI_ARGS}
|
||||
46
apps/sd-comfyui/latest/comfy/entrypoint.sh
Normal file
46
apps/sd-comfyui/latest/comfy/entrypoint.sh
Normal file
@@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
declare -A MOUNTS
|
||||
|
||||
mkdir -vp /data/config/comfy/
|
||||
|
||||
# cache
|
||||
MOUNTS["/root/.cache"]=/data/.cache
|
||||
# ui specific
|
||||
MOUNTS["${ROOT}/models/checkpoints"]="/data/StableDiffusion"
|
||||
MOUNTS["${ROOT}/models/controlnet"]="/data/ControlNet"
|
||||
MOUNTS["${ROOT}/models/upscale_models/RealESRGAN"]="/data/RealESRGAN"
|
||||
MOUNTS["${ROOT}/models/upscale_models/GFPGAN"]="/data/GFPGAN"
|
||||
MOUNTS["${ROOT}/models/upscale_models/SwinIR"]="/data/SwinIR"
|
||||
MOUNTS["${ROOT}/models/vae"]="/data/VAE"
|
||||
|
||||
# data
|
||||
MOUNTS["${ROOT}/models/loras"]="/data/Lora"
|
||||
MOUNTS["${ROOT}/models/embeddings"]="/data/embeddings"
|
||||
|
||||
# config
|
||||
# TODO: I am not sure if this is final, maybe it should change in the future
|
||||
MOUNTS["${ROOT}/models/clip"]="/data/.cache/comfy/clip"
|
||||
MOUNTS["${ROOT}/models/clip_vision"]="/data/.cache/comfy/clip_vision"
|
||||
MOUNTS["${ROOT}/models/custom_nodes"]="/data/config/comfy/custom_nodes"
|
||||
MOUNTS["${ROOT}/models/style_models"]="/data/config/comfy/style_models"
|
||||
MOUNTS["${ROOT}/models/t2i_adapter"]="/data/config/comfy/t2i_adapter"
|
||||
|
||||
# output
|
||||
MOUNTS["${ROOT}/output"]="/output/comfy"
|
||||
|
||||
for to_path in "${!MOUNTS[@]}"; do
|
||||
set -Eeuo pipefail
|
||||
from_path="${MOUNTS[${to_path}]}"
|
||||
rm -rf "${to_path}"
|
||||
if [ ! -f "$from_path" ]; then
|
||||
mkdir -vp "$from_path"
|
||||
fi
|
||||
mkdir -vp "$(dirname "${to_path}")"
|
||||
ln -sT "${from_path}" "${to_path}"
|
||||
echo Mounted $(basename "${from_path}")
|
||||
done
|
||||
|
||||
exec "$@"
|
||||
52
apps/sd-comfyui/latest/data.yml
Normal file
52
apps/sd-comfyui/latest/data.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
additionalProperties:
|
||||
formFields:
|
||||
- default: 40187
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
- default: '--listen 0.0.0.0 --port 8188'
|
||||
edit: true
|
||||
envKey: SD_CONSOLE_CLI_COMFY
|
||||
labelEn: CLI ARGS for ComfyUI
|
||||
labelZh: ComfyUI 的 CLI_ARGS 参数
|
||||
required: true
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: SD_CONSOLE_APT_COMFY
|
||||
labelEn: Install some package if you want (equivalent to apt-get install -y)
|
||||
labelZh: 想安装的软件包 (等同 apt-get install -y)
|
||||
required: false
|
||||
type: text
|
||||
- default: ""
|
||||
edit: true
|
||||
envKey: SD_CONSOLE_PIP_COMFY
|
||||
labelEn: Install pip package if you want (equivalent to pip install)
|
||||
labelZh: 想安装的 pip 包 (等同 pip install)
|
||||
required: false
|
||||
type: text
|
||||
#- default: 0
|
||||
# edit: true
|
||||
# envKey: SD_CONSOLE_DEVICE_IDS
|
||||
# labelEn: GPU ID
|
||||
# labelZh: SD 运行指定的 GPU 设备 ID
|
||||
# required: true
|
||||
# type: number
|
||||
- default: ./data/data
|
||||
edit: true
|
||||
envKey: DATA_PATH
|
||||
labelEn: Data storage folder
|
||||
labelZh: 数据存放文件夹
|
||||
required: true
|
||||
type: text
|
||||
- default: ./data/output
|
||||
edit: true
|
||||
envKey: OUTPUT_PATH
|
||||
labelEn: Picture output folder
|
||||
labelZh: 图片输出文件夹
|
||||
required: true
|
||||
type: text
|
||||
34
apps/sd-comfyui/latest/docker-compose.yml
Normal file
34
apps/sd-comfyui/latest/docker-compose.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
version: '3'
|
||||
services:
|
||||
sd-comfyui:
|
||||
build: ./comfy
|
||||
image: sd-comfyui:latest
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
runtime: nvidia
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:8188"
|
||||
volumes:
|
||||
- ${DATA_PATH}:/data
|
||||
- ${OUTPUT_PATH}:/output
|
||||
environment:
|
||||
- CLI_ARGS=${SD_CONSOLE_CLI_COMFY}
|
||||
- APT_ARGS=${SD_CONSOLE_APT_COMFY}
|
||||
- PIP_ARGS=${SD_CONSOLE_PIP_COMFY}
|
||||
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
|
||||
- NVIDIA_VISIBLE_DEVICES=all
|
||||
# 1Panel会覆盖此设置
|
||||
#deploy:
|
||||
# resources:
|
||||
# reservations:
|
||||
# devices:
|
||||
# - driver: nvidia
|
||||
# device_ids: ['${SD_CONSOLE_DEVICE_IDS}']
|
||||
# capabilities: [gpu,compute,utility]
|
||||
labels:
|
||||
createdBy: Apps
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
8
apps/sd-comfyui/latest/env.sample
Normal file
8
apps/sd-comfyui/latest/env.sample
Normal file
@@ -0,0 +1,8 @@
|
||||
CONTAINER_NAME="sd-comfyui"
|
||||
PANEL_APP_PORT_HTTP="40187"
|
||||
DATA_PATH="./data/data"
|
||||
OUTPUT_PATH="./data/output"
|
||||
SD_CONSOLE_CLI_COMFY="--listen 0.0.0.0 --port 8188"
|
||||
SD_CONSOLE_APT_COMFY=""
|
||||
SD_CONSOLE_PIP_COMFY=""
|
||||
SD_CONSOLE_DEVICE_IDS="0"
|
||||
2
apps/sd-comfyui/latest/scripts/init.sh
Normal file
2
apps/sd-comfyui/latest/scripts/init.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
docker compose up -d --build
|
||||
3
apps/sd-comfyui/latest/scripts/update.sh
Normal file
3
apps/sd-comfyui/latest/scripts/update.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
docker compose build --no-cache
|
||||
docker compose up -d
|
||||
Reference in New Issue
Block a user