diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c7dec06 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +PUID=1000 +PGID=1000 + +DEVICE_DRIVER=nvidia \ No newline at end of file diff --git a/TASK.md b/TASK.md new file mode 100644 index 0000000..c99c4a3 --- /dev/null +++ b/TASK.md @@ -0,0 +1,7 @@ +- [] Update docker-compose to be a more readable +- [] Add support for swarm +- [] Pin / configurable versions +- [] rocm / zluda support +- [] persistant vol for custom extensions +- [] generally better workflow vol mappings +- [] auto custom node loader for comfyui \ No newline at end of file diff --git a/docker-compose.v2.yml b/docker-compose.v2.yml new file mode 100644 index 0000000..408e1cc --- /dev/null +++ b/docker-compose.v2.yml @@ -0,0 +1,28 @@ +services: + + comfyui: + build: ./services/ComfyUI/ + image: comfyui + # user: ${PUID:-1000}:${PGID:-1000} + # environment: + # - PUID=${PUID:-1000} + # - PGID=${PGID:-1000} + # - CLI_ARGS= + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./data:/data + - ./output:/output + ports: + - "7860:7860" + stop_signal: SIGKILL + tty: true + deploy: + resources: + reservations: + devices: + - driver: ${DEVICE_DRIVER:-nvidia} + device_ids: ['0'] + capabilities: [compute, utility] + restart: unless-stopped + diff --git a/docker-compose.yml b/docker-compose.yml index 970b612..0836b78 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,8 @@ x-base_service: &base_service + user: ${PUID:-1000}:${PGID:-1000} + environment: + - PUID=${PUID:-1000} + - PGID=${PGID:-1000} ports: - "${WEBUI_PORT:-7860}:7860" volumes: diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index 4460499..a98fa7d 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -4,11 +4,18 @@ ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 RUN apt-get update && apt-get install -y git && apt-get clean +# Set USER here? https://stackoverflow.com/questions/24549746/switching-users-inside-docker-image-to-a-non-root-user +# USER ${uid}:${gid} + +# RUN --mount=type=cache,target=/root/.cache/pip \ +# put Cache somehwere else or don't define target? +# PIP_CACHE_DIR pip cache dir + ENV ROOT=/stable-diffusion RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/comfyanonymous/ComfyUI.git ${ROOT} && \ cd ${ROOT} && \ - git checkout v0.3.30 && \ + git checkout v0.3.19 && \ pip install -r requirements.txt WORKDIR ${ROOT} diff --git a/services/comfy/extra_model_paths.yaml b/services/comfy/extra_model_paths.yaml index eb374eb..042c994 100644 --- a/services/comfy/extra_model_paths.yaml +++ b/services/comfy/extra_model_paths.yaml @@ -19,7 +19,8 @@ a111: custom_nodes: config/comfy/custom_nodes # TODO: I am unsure about these, need more testing - # style_models: config/comfy/style_models - # t2i_adapter: config/comfy/t2i_adapter - # clip_vision: config/comfy/clip_vision - # diffusers: config/comfy/diffusers + # style_models: data/config/comfy/style_models + # t2i_adapter: data/config/comfy/t2i_adapter + # clip_vision: data/config/comfy/clip_vision + # diffusers: data/config/comfy/diffusers + # download_model_base: data/models