Commit Graph

242 Commits

Author SHA1 Message Date
Self Denial
1ba0fa8546 feat: Enhance ComfyUI Dockerfile with additional features and configurations
This commit significantly enhances the `Dockerfile` for the ComfyUI service by introducing several new features and configurations. Here's a detailed breakdown of the changes:

1. **Base Image Update**:
   - Updated the base image from `pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime` to `pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime`. This ensures compatibility with newer versions of PyTorch and CUDA, providing better performance and support for recent hardware.

2. **Environment Variables**:
   - Introduced several new environment variables (`USE_UID`, `USE_GID`, `USE_USER`, `USE_GROUP`) to allow customization of the user and group IDs within the container.
   - Added flags (`USE_EDGE`, `USE_GGUF`, `USE_XFLUX`, `USE_CNAUX`, `USE_KRITA`, `USE_IPAPLUS`, `USE_INPAINT`, `USE_TOOLING`) to enable or disable optional features and integrations.

3. **User/Group Management**:
   - Added logic to create a user and group with specified IDs (`USE_UID` and `USE_GID`). This is useful for running the container in environments where specific user permissions are required.
   - Set default values for these variables, ensuring that the Dockerfile remains functional without explicit configuration.

4. **Optional Feature Integration**:
   - Included conditional logic to clone and install additional repositories based on the flags set (`USE_GGUF`, `USE_XFLUX`, `USE_CNAUX`, `USE_KRITA`, `USE_IPAPLUS`, `USE_INPAINT`, `USE_TOOLING`). This allows users to customize their ComfyUI installation by enabling only the features they need.
   - Ensured that dependencies for these optional features are installed correctly, including handling specific cases like separating ONNX Runtime installations to restore CUDA support.

5. **Python Version Update**:
   - Changed the Python command from `python` to `python3` in the CMD instruction to explicitly specify the use of Python 3, which is a best practice for clarity and compatibility.

6. **File Permissions and Ownership**:
   - Used `--chown=${USE_UID}:${USE_GID}` when copying files into the container to ensure that the correct user owns these files, preventing permission issues during execution.

7. **General Improvements**:
   - Improved readability and maintainability of the Dockerfile by organizing the steps logically and adding comments where necessary.
   - Ensured that all commands are idempotent, meaning they can be run multiple times without causing unintended side effects.

- `USE_UID`: Specifies the user ID for the non-root user within the container. Default is set to value 0.
- `USE_GID`: Specifies the group ID for the non-root user within the container. Default is set to value like 0.
- `USE_USER`: Specifies the username for the non-root user within the container. Default is set to `root`.
- `USE_GROUP`: Specifies the group name for the non-root user within the container. Default is set to `root`.
- `USE_EDGE`: If set to `true`, clones and installs the latest development version of ComfyUI from the main branch.
- `USE_GGUF`: If set to `true`, clones and installs the ComfyUI-GGUF extension for GPU acceleration.
- `USE_XFLUX`: If set to `true`, clones and installs the x-flux-comfyui extension for additional functionalities.
- `USE_CNAUX`: If set to `true`, clones and installs the comfyui_controlnet_aux extension for control net auxiliary features.
- `USE_KRITA`: If set to `true`, clones and installs multiple extensions (comfyui_controlnet_aux, ComfyUI_IPAdapter_plus, comfyui-inpaint-nodes, comfyui-tooling-nodes) that are useful when integrating with Krita.
- `USE_IPAPLUS`: If set to `true`, clones and installs the ComfyUI_IPAdapter_plus extension for IP Adapter functionalities.
- `USE_INPAINT`: If set to `true`, clones and installs the comfyui-inpaint-nodes extension for inpainting capabilities.
- `USE_TOOLING`: If set to `true`, clones and installs the comfyui-tooling-nodes extension for additional tooling features.

These ARGs provide flexibility in configuring the Docker container, allowing users to tailor the ComfyUI installation to their specific needs.
2024-11-24 18:29:16 -07:00
Self Denial
eceac3ce5f feat: Add custom node management and additional configuration options in entrypoint.sh
This commit introduces several enhancements to the `entrypoint.sh` script for the Comfy service:

1. **Custom Node Management**: Added logic to update custom nodes located in `/data/config/comfy/custom_nodes/`. If the `UPDATE_CUSTOM_NODES` environment variable is set to `true`, it will pull the latest changes from each node's Git repository and update submodules recursively for specific nodes like `krita-ai-diffusion`.

2. **Environment Variable Usage**: Introduced a new environment variable `CACHE` which should be used instead of hardcoding `/root/.cache`. This makes the script more flexible and configurable.

3. **Krita Integration**: Added support for Krita integration with ComfyUI, including downloading models if `KRITA_DOWNLOAD_MODELS` is set to `true`, managing upscale models, and setting up symbolic links for model directories.

4. **GGUF, XFLUX, CNAUX, IPAPLUS, INPAINT, TOOLING Support**: Included logic to handle additional custom nodes (`ComfyUI-GGUF`, `x-flux-comfyui`, `comfyui_controlnet_aux`, `ComfyUI_IPAdapter_plus`, `comfyui-inpaint-nodes`, `comfyui-tooling-nodes`) based on their respective environment variables (`USE_GGUF`, `USE_XFLUX`, `USE_CNAUX`, `USE_IPAPLUS`, `USE_INPAINT`, `USE_TOOLING`). These nodes are moved to the custom nodes directory if they don't already exist.

5. **Model Management**: Added functionality to download and manage specific models required by certain integrations, such as CLIP Vision and IP Adapters for XFLUX.

These changes enhance the script's flexibility, making it easier to integrate additional features and manage dependencies dynamically based on environment configurations.
2024-11-24 16:34:53 -07:00
Self Denial
2de99033e8 feat: Add new model paths to extra_model_paths.yaml
This commit introduces several new model paths to the `extra_model_paths.yaml` file under the `a111` section. The added paths include `unet`, `clip_vision`, `xlabs`, `inpaint`, and `ipadapter`. These additions enhance the configuration by providing more options for different models, which can be utilized in various functionalities within the service.
2024-11-24 16:32:41 -07:00
Self Denial
e68863099d chore: Add .env to .gitignore and create initial .env file
This commit introduces a new `.env` file for environment variable management and updates the `.gitignore` file to ensure that this sensitive configuration file is not tracked by version control. This change helps maintain security by preventing accidental exposure of environment-specific settings in the repository.
2024-11-24 16:18:20 -07:00
Self Denial
edcd949867 chore: Add .env file support to docker-compose
This commit introduces the use of an `.env` file for environment variable management across all defined services in the `docker-compose.yml`. By adding `env_file: .env`, each service will now load environment variables from a local `.env` file, enhancing configuration flexibility and security. This change ensures that sensitive information or common settings can be centralized and easily managed without hardcoding them into the Docker Compose file.
2024-11-24 16:12:33 -07:00
AbdBarho
802d0bcd68 Remove invoke (#705)
The invoke team already maintains a docker setup for their service, this
copy here was maybe relevant 2 years ago when all of this started, but I
don't think it makes sense anymore.

Refer to invoke's docs to install using docker
https://invoke-ai.github.io/InvokeAI/installation/040_INSTALL_DOCKER/
9.0.0
2024-06-23 11:16:21 +02:00
mohamednabiel717
b1a26b8041 Update Auto to 1.9.4 (#700)
feee37d75f

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
2024-06-07 19:10:28 +02:00
AbdBarho
f1bf3b0943 Bump pytorch containers (#697)
Closes #696
Closes #694
2024-05-28 19:39:33 +02:00
AbdBarho
35a18b3d46 Update Comfy (#693)
276f8fce9f

Closes #676 
Closes #674

Refs #686
2024-05-20 14:44:41 +02:00
神楽坂·喵
887e49c495 Add missing assets to auto1111 (#684)
Closes #683

Co-authored-by: AbdBarho <ka70911@gmail.com>
2024-05-20 13:41:54 +02:00
Derek Palmer (Creative)
7051ce0a44 Updated docker-compose to remove obsolete version syntax (#692)
Removes `version:` syntax in `docker-compose` file. If left in, it
throws an obsolete warning. I removed it from the docker-compose file to
reduce unnecessary warnings and to keep the code up to current
standards.

See [Version top-level element
(obsolete)](https://docs.docker.com/compose/compose-file/04-version-and-name/#version-top-level-element-obsolete)
for reference.
2024-05-20 13:41:36 +02:00
SachiaLanlus
ac94eac2b5 Update Auto v1.9.3 (#673)
Closes issue  #672

### Update versions

- auto:
https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.9.3
2024-05-20 13:35:07 +02:00
AbdBarho
015c2ec829 Pin xformers (for now) (#651)
Closes #648
Closes #649
2024-02-03 08:50:40 +01:00
AbdBarho
245d1d443f Update package index (#650)
Closes #622
2024-02-03 08:17:45 +01:00
Johannes Sjölund
60c4832185 Update open_clip to v2.20.0 in Auto (#617)
Fixes #615.

Updates `open-clip-torch` to the one specified in auto's
[requirements_versions.txt](https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/requirements_versions.txt#L18).

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
8.2.0
2024-01-01 11:34:46 +01:00
Adam Florizone
f613639748 Update Auto v1.7.0 (#632)
Update Auto v1.7.0


https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.7.0

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
2024-01-01 11:30:40 +01:00
simonmcnair
fbc5c359d0 Resolve memory usage situation in Auto (#620)
Fixes
https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/612

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
2024-01-01 11:13:01 +01:00
sejoung kim
90affeb72a Bump Comfy (#603)
d1f3637a5a

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
2024-01-01 11:04:02 +01:00
AbdBarho
3e67f559d4 Update Auto (#610)
Closes #609

4afaaf8a02
2023-11-13 21:12:07 +01:00
cococig
a2561f2659 Update automatic1111 webui base image (#601)
Update the minor version of Python in the base image for AUTOMATIC1111
web UI.

Closes issue #600
2023-11-13 19:35:24 +01:00
cloudaxes
6a34739135 Update Automatic1111 to v1.6.0 (#585)
Update Automatic1111 Stable Diffusion Webui to v1.6.0.

Closes #583 

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
2023-09-09 16:10:05 +02:00
Sebastian Piechowiak
630980b1bf Skipping installation of requirements for disabled extensions (#582)
Closes #563
2023-09-09 15:34:06 +02:00
66li
84740598bc Update generative-models version (#581)
Upgrade a dependent library



https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/v1.5.2/modules/launch_utils.py#L288C90-L288C130

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
2023-08-31 20:04:32 +02:00
AbdBarho
59b9762ac7 Update Comfy (#580)
7e941f9f24
2023-08-30 20:00:48 +02:00
AbdBarho
70357bf01e Auto 1.5.2 (#579)
c9c8485bc1
2023-08-30 19:55:06 +02:00
Manuel Schmid
def76291f8 Update Automatic1111 to 1.5.1 to add compatibility for SDXL (#560)
Uses the latest release of
https://github.com/Stability-AI/generative-models
45c443b316737a4ab6e40413d7794a7f5657c19f

Tested with the official SDXL 1.0 model from
https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/sd_xl_base_1.0.safetensors
and official refiner from
https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/blob/main/sd_xl_refiner_1.0.safetensors.
VAE:
https://huggingface.co/stabilityai/sdxl-vae/blob/main/sdxl_vae.safetensors

Closes #558
Closes #559

68f336bd99

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
8.1.0
2023-07-30 15:42:32 +02:00
AbdBarho
09a0f11946 Add startup script for comfy (#552)
Closes #451

---------

Co-authored-by: PassiveLemon <lemonl3mn@protonmail.com>
2023-07-22 08:31:17 +02:00
cloudaxes
6de45b1984 Upgrade k-diffusion to Release 0.0.15 to get access to DPM++ (2M) SDE sampler. (#537)
Closes issue #536
2023-07-22 07:23:30 +02:00
AbdBarho
103e11493b Auto 1.4.0 (#507)
394ffa7b0a

Maybe bug:
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/11040
2023-07-02 08:15:51 +02:00
AbdBarho
95e96602f9 Bump auto 2023-06-26 21:57:45 +02:00
神楽坂·喵
37a82af4b7 Add build-essential package (#522)
Fix the problem that some extensions need to be installed from src
Now, because the step of installing extensions is moved forward in
`entrypoint.sh` instead of `startup.sh`, we cannot install some required
packages before executing `install.py`
When installing the extension `sd-webui-roop`, it relies on
`insightface==0.7.3`, and when installing this pypi package, it is found
that when building the wheel package, an error will be reported because
`gcc` cannot be found

ddc02ee1a9/requirements.txt (L1)
Therefore, considering that not all pypi packages are distributed in
wheel, those pypi packages distributed in src need `build-essential` to
build
2023-06-26 21:37:37 +02:00
AbdBarho
5e28222332 Allow setting port through env WEBUI_PORT (#521)
I am actually not happy with this solution, I would prefer if it was
possible to customize the ports within `docker-compose.override.yml`
2023-06-25 20:33:57 +02:00
AbdBarho
6c45e0c2ef Create dirs if not exist (#520)
Closes #519
2023-06-25 20:21:41 +02:00
神楽坂·喵
6365811f35 Modify installation extension dependencies (#518)
Perform a full extension installation process instead of just installing
dependencies
Some extensions do not include `requirements.txt` but install
dependencies in `install.py`, and all extensions include `install.py`,
so it is safe to use it for extended dependency installation
This is because the extension development of AUTOMATIC1111's webui does
not require the existence of `requirements.txt` but uses `install.py` to
initialize the extension

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions#installpy
2023-06-25 12:42:04 +02:00
AbdBarho
cdde93b8bb v8 (#516)
8607c2d42d
8.0.0
2023-06-24 10:06:30 +02:00
AbdBarho
660c098da0 Change capabilities in docker-compose (#497)
#479
7.0.0
2023-06-02 21:29:00 +02:00
AbdBarho
6695c23150 InvokeAI 2.3.5.post2 (#491)
f3b2e02921
#489
2023-05-29 19:07:01 +02:00
AbdBarho
a3ecd4a79c Update auto to 1.3.0 (#490)
20ae71faa8

Pytorch 2.0.1 #489
2023-05-29 15:17:06 +02:00
AbdBarho
1df18b803c Add extension dependencies (#485)
It seems that users are struggling to follow the instructions on the
wiki


https://github.com/AbdBarho/stable-diffusion-webui-docker/pull/483#issuecomment-1561241372
2023-05-24 16:53:59 +02:00
AbdBarho
110627415d Deprecate Sygil (#450)
It has been a long and wonderful journey
6.0.0
2023-05-16 18:58:52 +02:00
AbdBarho
87b1509dc2 Update Auto to 1.2.1 (#466)
89f9faa633

Fix #448
2023-05-16 18:56:36 +02:00
AbdBarho
71f4abb2db Create custom_nodes dir (#461)
Closes #460
2023-05-10 07:32:58 +02:00
AbdBarho
c836f41921 Add ClipEncoder (#458)
https://github.com/AbdBarho/stable-diffusion-webui-docker/pull/432#issuecomment-1537380951
2023-05-08 19:29:38 +02:00
LEv145
d47e77f19c Update/fix mounts for comfyUI (#432)
I updated the paths to make all paths work

Now paths in ComfyUI are working
Added: 
- `input`
- `models/configs`
- `models/gligen`
- `models/diffusers`
- `models/hypernetworks`

Was broken:
- `custom_nodes`
- `models/clip_vision` 
- `models/clip`

---------

Co-authored-by: LEv145 <you@example.com>
Co-authored-by: AbdBarho <ka70911@gmail.com>
2023-05-07 11:11:30 +02:00
AbdBarho
7fb8b97b90 Invoke 2.3.5 (#449)
d73f1c363c
2023-05-06 09:48:38 +02:00
Mat
9ac33db795 Fix overwriting existing values in config.json in auto (#418)
`jq` merge direction in this case is right to left so if the user had
set up custom paths it would replace them with the default ones.

This PR switches the direction to use the defaults as fallback instead
of overwriting user settings.

----
Didn't want to create an issue for the tiny change.

Thanks for your work on the repo, it saved me a lot of time, 👍

---------

Co-authored-by: AbdBarho <ka70911@gmail.com>
2023-05-06 07:38:36 +02:00
AbdBarho
a68734c9f9 Revert "Only run if changed (#444)"
This reverts commit 36f39043de.
2023-05-04 23:00:46 +02:00
AbdBarho
36f39043de Only run if changed (#444) 2023-05-04 22:54:37 +02:00
AbdBarho
0e5801e9d6 Update auto to pytorch 2 (#442)
Closes #410
2023-05-04 22:41:51 +02:00
AbdBarho
2efaeb41cd Add styles.csv support (#440)
Follow up to #386 after
https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/9334 has
been merged.

Closes #435
5.0.3
2023-05-04 07:48:19 +02:00