-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2406 from lllyasviel/develop
release 2.2.0
- Loading branch information
Showing
37 changed files
with
1,850 additions
and
467 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.idea |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
name: Bug Report | ||
description: You think something is broken in Fooocus | ||
title: "[Bug]: " | ||
labels: ["bug", "triage"] | ||
|
||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
> The title of the bug report should be short and descriptive. | ||
> Use relevant keywords for searchability. | ||
> Do not leave it blank, but also do not put an entire error log in it. | ||
- type: checkboxes | ||
attributes: | ||
label: Checklist | ||
description: | | ||
Please perform basic debugging to see if your configuration is the cause of the issue. | ||
Basic debug procedure | ||
2. Update Fooocus - sometimes things just need to be updated | ||
3. Backup and remove your config.txt - check if the issue is caused by bad configuration | ||
5. Try a fresh installation of Fooocus in a different directory - see if a clean installation solves the issue | ||
Before making a issue report please, check that the issue hasn't been reported recently. | ||
options: | ||
- label: The issue exists on a clean installation of Fooocus | ||
- label: The issue exists in the current version of Fooocus | ||
- label: The issue has not been reported before recently | ||
- label: The issue has been reported before but has not been fixed yet | ||
- type: markdown | ||
attributes: | ||
value: | | ||
> Please fill this form with as much information as possible. Don't forget to add information about "What browsers" and provide screenshots if possible | ||
- type: textarea | ||
id: what-did | ||
attributes: | ||
label: What happened? | ||
description: Tell us what happened in a very clear and simple way | ||
placeholder: | | ||
image generation is not working as intended. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: steps | ||
attributes: | ||
label: Steps to reproduce the problem | ||
description: Please provide us with precise step by step instructions on how to reproduce the bug | ||
placeholder: | | ||
1. Go to ... | ||
2. Press ... | ||
3. ... | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: what-should | ||
attributes: | ||
label: What should have happened? | ||
description: Tell us what you think the normal behavior should be | ||
placeholder: | | ||
Fooocus should ... | ||
validations: | ||
required: true | ||
- type: dropdown | ||
id: browsers | ||
attributes: | ||
label: What browsers do you use to access Fooocus? | ||
multiple: true | ||
options: | ||
- Mozilla Firefox | ||
- Google Chrome | ||
- Brave | ||
- Apple Safari | ||
- Microsoft Edge | ||
- Android | ||
- iOS | ||
- Other | ||
- type: dropdown | ||
id: hosting | ||
attributes: | ||
label: Where are you running Fooocus? | ||
multiple: false | ||
options: | ||
- Locally | ||
- Locally with virtualization (e.g. Docker) | ||
- Cloud (Google Colab) | ||
- Cloud (other) | ||
- type: input | ||
id: operating-system | ||
attributes: | ||
label: What operating system are you using? | ||
placeholder: | | ||
Windows 10 | ||
- type: textarea | ||
id: logs | ||
attributes: | ||
label: Console logs | ||
description: Please provide **full** cmd/terminal logs from the moment you started UI to the end of it, after the bug occured. If it's very long, provide a link to pastebin or similar service. | ||
render: Shell | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: misc | ||
attributes: | ||
label: Additional information | ||
description: | | ||
Please provide us with any relevant additional info or context. | ||
Examples: | ||
I have updated my GPU driver recently. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
blank_issues_enabled: false | ||
contact_links: | ||
- name: Ask a question | ||
url: https://github.com/lllyasviel/Fooocus/discussions/new?category=q-a | ||
about: Ask the community for help |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
name: Feature request | ||
description: Suggest an idea for this project | ||
title: "[Feature Request]: " | ||
labels: ["enhancement", "triage"] | ||
|
||
body: | ||
- type: checkboxes | ||
attributes: | ||
label: Is there an existing issue for this? | ||
description: Please search to see if an issue already exists for the feature you want, and that it's not implemented in a recent build/commit. | ||
options: | ||
- label: I have searched the existing issues and checked the recent builds/commits | ||
required: true | ||
- type: markdown | ||
attributes: | ||
value: | | ||
*Please fill this form with as much information as possible, provide screenshots and/or illustrations of the feature if possible* | ||
- type: textarea | ||
id: feature | ||
attributes: | ||
label: What would your feature do? | ||
description: Tell us about your feature in a very clear and simple way, and what problem it would solve | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: workflow | ||
attributes: | ||
label: Proposed workflow | ||
description: Please provide us with step by step information on how you'd like the feature to be accessed and used | ||
value: | | ||
1. Go to .... | ||
2. Press .... | ||
3. ... | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: misc | ||
attributes: | ||
label: Additional information | ||
description: Add any other context or screenshots about the feature request here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,3 +51,4 @@ user_path_config-deprecated.txt | |
/package-lock.json | ||
/.coverage* | ||
/auth.json | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
FROM nvidia/cuda:12.3.1-base-ubuntu22.04 | ||
ENV DEBIAN_FRONTEND noninteractive | ||
ENV CMDARGS --listen | ||
|
||
RUN apt-get update -y && \ | ||
apt-get install -y curl libgl1 libglib2.0-0 python3-pip python-is-python3 git && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
COPY requirements_docker.txt requirements_versions.txt /tmp/ | ||
RUN pip install --no-cache-dir -r /tmp/requirements_docker.txt -r /tmp/requirements_versions.txt && \ | ||
rm -f /tmp/requirements_docker.txt /tmp/requirements_versions.txt | ||
RUN pip install --no-cache-dir xformers==0.0.22 --no-dependencies | ||
RUN curl -fsL -o /usr/local/lib/python3.10/dist-packages/gradio/frpc_linux_amd64_v0.2 https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64 && \ | ||
chmod +x /usr/local/lib/python3.10/dist-packages/gradio/frpc_linux_amd64_v0.2 | ||
|
||
RUN adduser --disabled-password --gecos '' user && \ | ||
mkdir -p /content/app /content/data | ||
|
||
COPY entrypoint.sh /content/ | ||
RUN chown -R user:user /content | ||
|
||
WORKDIR /content | ||
USER user | ||
|
||
RUN git clone https://github.com/lllyasviel/Fooocus /content/app | ||
RUN mv /content/app/models /content/app/models.org | ||
|
||
CMD [ "sh", "-c", "/content/entrypoint.sh ${CMDARGS}" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
version: '3.9' | ||
|
||
volumes: | ||
fooocus-data: | ||
|
||
services: | ||
app: | ||
build: . | ||
image: fooocus | ||
ports: | ||
- "7865:7865" | ||
environment: | ||
- CMDARGS=--listen # Arguments for launch.py. | ||
- DATADIR=/content/data # Directory which stores models, outputs dir | ||
- config_path=/content/data/config.txt | ||
- config_example_path=/content/data/config_modification_tutorial.txt | ||
- path_checkpoints=/content/data/models/checkpoints/ | ||
- path_loras=/content/data/models/loras/ | ||
- path_embeddings=/content/data/models/embeddings/ | ||
- path_vae_approx=/content/data/models/vae_approx/ | ||
- path_upscale_models=/content/data/models/upscale_models/ | ||
- path_inpaint=/content/data/models/inpaint/ | ||
- path_controlnet=/content/data/models/controlnet/ | ||
- path_clip_vision=/content/data/models/clip_vision/ | ||
- path_fooocus_expansion=/content/data/models/prompt_expansion/fooocus_expansion/ | ||
- path_outputs=/content/app/outputs/ # Warning: If it is not located under '/content/app', you can't see history log! | ||
volumes: | ||
- fooocus-data:/content/data | ||
#- ./models:/import/models # Once you import files, you don't need to mount again. | ||
#- ./outputs:/import/outputs # Once you import files, you don't need to mount again. | ||
tty: true | ||
deploy: | ||
resources: | ||
reservations: | ||
devices: | ||
- driver: nvidia | ||
device_ids: ['0'] | ||
capabilities: [compute, utility] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# Fooocus on Docker | ||
|
||
The docker image is based on NVIDIA CUDA 12.3 and PyTorch 2.0, see [Dockerfile](Dockerfile) and [requirements_docker.txt](requirements_docker.txt) for details. | ||
|
||
## Quick start | ||
|
||
**This is just an easy way for testing. Please find more information in the [notes](#notes).** | ||
|
||
1. Clone this repository | ||
2. Build the image with `docker compose build` | ||
3. Run the docker container with `docker compose up`. Building the image takes some time. | ||
|
||
When you see the message `Use the app with http://0.0.0.0:7865/` in the console, you can access the URL in your browser. | ||
|
||
Your models and outputs are stored in the `fooocus-data` volume, which, depending on OS, is stored in `/var/lib/docker/volumes`. | ||
|
||
## Details | ||
|
||
### Update the container manually | ||
|
||
When you are using `docker compose up` continuously, the container is not updated to the latest version of Fooocus automatically. | ||
Run `git pull` before executing `docker compose build --no-cache` to build an image with the latest Fooocus version. | ||
You can then start it with `docker compose up` | ||
|
||
### Import models, outputs | ||
If you want to import files from models or the outputs folder, you can uncomment the following settings in the [docker-compose.yml](docker-compose.yml): | ||
``` | ||
#- ./models:/import/models # Once you import files, you don't need to mount again. | ||
#- ./outputs:/import/outputs # Once you import files, you don't need to mount again. | ||
``` | ||
After running `docker compose up`, your files will be copied into `/content/data/models` and `/content/data/outputs` | ||
Since `/content/data` is a persistent volume folder, your files will be persisted even when you re-run `docker compose up --build` without above volume settings. | ||
|
||
|
||
### Paths inside the container | ||
|
||
|Path|Details| | ||
|-|-| | ||
|/content/app|The application stored folder| | ||
|/content/app/models.org|Original 'models' folder.<br> Files are copied to the '/content/app/models' which is symlinked to '/content/data/models' every time the container boots. (Existing files will not be overwritten.) | | ||
|/content/data|Persistent volume mount point| | ||
|/content/data/models|The folder is symlinked to '/content/app/models'| | ||
|/content/data/outputs|The folder is symlinked to '/content/app/outputs'| | ||
|
||
### Environments | ||
|
||
You can change `config.txt` parameters by using environment variables. | ||
**The priority of using the environments is higher than the values defined in `config.txt`, and they will be saved to the `config_modification_tutorial.txt`** | ||
|
||
Docker specified environments are there. They are used by 'entrypoint.sh' | ||
|Environment|Details| | ||
|-|-| | ||
|DATADIR|'/content/data' location.| | ||
|CMDARGS|Arguments for [entry_with_update.py](entry_with_update.py) which is called by [entrypoint.sh](entrypoint.sh)| | ||
|config_path|'config.txt' location| | ||
|config_example_path|'config_modification_tutorial.txt' location| | ||
|
||
You can also use the same json key names and values explained in the 'config_modification_tutorial.txt' as the environments. | ||
See examples in the [docker-compose.yml](docker-compose.yml) | ||
|
||
## Notes | ||
|
||
- Please keep 'path_outputs' under '/content/app'. Otherwise, you may get an error when you open the history log. | ||
- Docker on Mac/Windows still has issues in the form of slow volume access when you use "bind mount" volumes. Please refer to [this article](https://docs.docker.com/storage/volumes/#use-a-volume-with-docker-compose) for not using "bind mount". | ||
- The MPS backend (Metal Performance Shaders, Apple Silicon M1/M2/etc.) is not yet supported in Docker, see https://github.com/pytorch/pytorch/issues/81224 | ||
- You can also use `docker compose up -d` to start the container detached and connect to the logs with `docker compose logs -f`. This way you can also close the terminal and keep the container running. |
Oops, something went wrong.
4945fc9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔥🔥🔥