wolverinn / stable-diffusion-multi-user

stable diffusion multi-user django server code with multi-GPU load balancing
https://image.stable-ai.tech/
GNU General Public License v3.0
303 stars 64 forks source link

Do any one have docker image for this #16

Open souravsk opened 5 months ago

souravsk commented 5 months ago

I was trying to run but there are a lot of version issues as it's in Python so it's expected but I have very basic knowledge of Python it will be easy forks like just pulling the image or building to run it and then we can also use that in production.

wolverinn commented 5 months ago

You can check the runpod option. It only needs to pull a docker image. From: "Sourav @.> Date: Wed, Apr 17, 2024, 18:51 Subject: [External] [wolverinn/stable-diffusion-multi-user] Do any one have docker image for this (Issue #16) To: "wolverinn/stable-diffusion-multi-user"< @.> Cc: @.***>

I was trying to run but there are a lot of version issues as it's in Python so it's expected but I have very basic knowledge of Python it will be easy forks like just pulling the image or building to run it and then we can also use that in production.

— Reply to this email directly, view it on GitHub https://github.com/wolverinn/stable-diffusion-multi-user/issues/16, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIWGF2GXCPFFYB25ZYPMKYDY5ZHYXAVCNFSM6AAAAABGLB7J2KVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2DOOJYHEZTGMA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

souravsk commented 5 months ago

Actually, I want to run it with Dockar if it goes into production then it will be easier for me.

souravsk commented 5 months ago

Hey @wolverinn i have pulled your docker image and it showing this error

docker run -it -p 7860:7860 wolverinn/sd_multi_demo:v187
Mount success. Executing CMD now...
font_manager.py     :1578 2024-04-18 11:10:33,009 generated new fontManager
instantiator.py     :21   2024-04-18 11:10:33,721 Created a temporary directory at /tmp/tmpz0_p8rvy
instantiator.py     :76   2024-04-18 11:10:33,722 Writing /tmp/tmpz0_p8rvy/_remote_module_non_scriptable.py
No module 'xformers'. Proceeding without it.
Traceback (most recent call last):
  File "/handler.py", line 7, in <module>
    from webui_v2 import manual_api
  File "/webui_v2.py", line 42, in <module>
    from modules.call_queue import wrap_gradio_gpu_call, wrap_queued_call, queue_lock  # noqa: F401
  File "/modules/call_queue.py", line 5, in <module>
    from modules import shared, progress, errors
  File "/modules/shared.py", line 78, in <module>
    os.makedirs(cmd_opts.hypernetwork_dir, exist_ok=True)
  File "/usr/local/lib/python3.10/os.py", line 225, in makedirs
    mkdir(name, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/models/hypernetworks'

it is saying it is missing a file Running in Ubuntu laptop

wolverinn commented 5 months ago

Don't use v187. You can build your own docker image.

souravsk commented 5 months ago

I have but it is also giving errors. @wolverinn

docker build -t sd-multi1 .
[+] Building 519.6s (12/12) FINISHED                                                                                                                                      docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                0.0s
 => => transferring dockerfile: 1.24kB                                                                                                                                              0.0s
 => [internal] load metadata for docker.io/library/python:3.10-slim                                                                                                                 3.4s
 => [auth] library/python:pull token for registry-1.docker.io                                                                                                                       0.0s
 => [internal] load .dockerignore                                                                                                                                                   0.0s
 => => transferring context: 2B                                                                                                                                                     0.0s
 => [1/7] FROM docker.io/library/python:3.10-slim@sha256:64157e9ca781b9d18e4d7e613f4a3f19365a26d82da87ff1aa82a03eacb34687                                                           3.3s
 => => resolve docker.io/library/python:3.10-slim@sha256:64157e9ca781b9d18e4d7e613f4a3f19365a26d82da87ff1aa82a03eacb34687                                                           0.0s
 => => sha256:3e36db268f77cf5b62d5b1552ddf83064831fccc0cd15aa377b37a6f6b3d8426 1.37kB / 1.37kB                                                                                      0.0s
 => => sha256:797a4d7093b1028477f9d411a8863f69d8425fcb18299f85b9802ed753b45359 6.92kB / 6.92kB                                                                                      0.0s
 => => sha256:13808c22b207b066ef43572e57e4fb8c6172e887dd9a918c089a174a19371b7a 29.13MB / 29.13MB                                                                                    2.1s
 => => sha256:6c9a484475c10b31eadca58e66b24d9babf508955f52c40080a00595c55cc6c1 3.51MB / 3.51MB                                                                                      2.2s
 => => sha256:fb408522af2500445c32fdd40f0906a8b7588778fe0495e6fe1e7753c28f7db9 12.38MB / 12.38MB                                                                                    2.2s
 => => sha256:64157e9ca781b9d18e4d7e613f4a3f19365a26d82da87ff1aa82a03eacb34687 1.65kB / 1.65kB                                                                                      0.0s
 => => sha256:54ac57f982453d6a948aedba1330e4f69e23d434958492285f1aabbc12de67ca 244B / 244B                                                                                          2.4s
 => => extracting sha256:13808c22b207b066ef43572e57e4fb8c6172e887dd9a918c089a174a19371b7a                                                                                           0.6s
 => => sha256:de5947f2220769b2a58876db17ca1fb93c1060be8016fba30dc376f317ec9baa 3.36MB / 3.36MB                                                                                      2.8s
 => => extracting sha256:6c9a484475c10b31eadca58e66b24d9babf508955f52c40080a00595c55cc6c1                                                                                           0.1s
 => => extracting sha256:fb408522af2500445c32fdd40f0906a8b7588778fe0495e6fe1e7753c28f7db9                                                                                           0.2s
 => => extracting sha256:54ac57f982453d6a948aedba1330e4f69e23d434958492285f1aabbc12de67ca                                                                                           0.0s
 => => extracting sha256:de5947f2220769b2a58876db17ca1fb93c1060be8016fba30dc376f317ec9baa                                                                                           0.1s
 => [internal] load build context                                                                                                                                                   0.1s
 => => transferring context: 15.99MB                                                                                                                                                0.1s
 => [2/7] COPY requirements.txt /                                                                                                                                                   0.2s
 => [3/7] RUN apt-get update && apt-get install -y libgl1-mesa-glx  &&     apt-get install -y libglib2.0-0 &&     apt-get install -y git &&     rm -rf /var/lib/apt/lists/*        15.1s
 => [4/7] RUN pip3 install runpod==0.9.12 &&     pip3 install -r requirements.txt &&     pip3 install torch==1.13.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu1  484.2s
 => [5/7] COPY . /                                                                                                                                                                  0.4s
 => [6/7] RUN chmod +x docker_entrypoint.sh                                                                                                                                         0.3s
 => exporting to image                                                                                                                                                             12.6s
 => => exporting layers                                                                                                                                                            12.5s
 => => writing image sha256:245ad8c72b70bcc982e64a422e7245f1ea4c0b5765a50a16a309a830d21c4733                                                                                        0.0s
 => => naming to docker.io/library/sd-multi1                                                                                                                                        0.0s
nexgensis@nexgensis-ThinkPad-E14-Gen-3:~/Desktop/AI/stable-diffusion-multi-user/sd-docker-slim$ docker images
REPOSITORY                                      TAG       IMAGE ID       CREATED          SIZE
sd-multi1                                       latest    245ad8c72b70   57 seconds ago   6.53GB
docker-elk-kibana                               latest    7930f699a8c4   12 days ago      1.06GB
docker-elk-logstash                             latest    5a0b36775a85   12 days ago      843MB
docker-elk-elasticsearch                        latest    68888c608d45   12 days ago      1.24GB
stable-diffusion-dockercompose_stablediff-cpu   latest    3a57c810c545   2 weeks ago      3.8GB
ubuntu                                          latest    ca2b0f26964c   7 weeks ago      77.9MB
wolverinn/sd_multi_demo                         v187      cdd81e0997e8   5 months ago     7.23GB
nexgensis@nexgensis-ThinkPad-E14-Gen-3:~/Desktop/AI/stable-diffusion-multi-user/sd-docker-slim$ docker run -it -p 7860:7860 sd-multi1
Mount success. Executing CMD now...
font_manager.py     :1578 2024-04-18 10:26:18,105 generated new fontManager
Traceback (most recent call last):
  File "/handler.py", line 19, in <module>
    from modules.call_queue import wrap_queued_call, queue_lock, wrap_gradio_gpu_call
  File "/modules/call_queue.py", line 7, in <module>
    from modules import shared, progress
  File "/modules/shared.py", line 9, in <module>
    import gradio as gr
  File "/usr/local/lib/python3.10/site-packages/gradio/__init__.py", line 3, in <module>
    import gradio.components as components
  File "/usr/local/lib/python3.10/site-packages/gradio/components.py", line 34, in <module>
    from gradio import media_data, processing_utils, utils
  File "/usr/local/lib/python3.10/site-packages/gradio/processing_utils.py", line 23, in <module>
    from gradio import encryptor, utils
  File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 416, in <module>
    class AsyncRequest:
  File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 436, in AsyncRequest
    client = httpx.AsyncClient()
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1397, in __init__
    self._transport = self._init_transport(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1445, in _init_transport
    return AsyncHTTPTransport(
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 275, in __init__
    self._pool = httpcore.AsyncConnectionPool(
TypeError: AsyncConnectionPool.__init__() got an unexpected keyword argument 'socket_options'
wolverinn commented 4 months ago

Looks like the stable-diffusion-webui files used in my /sd-docker-slim is outdated. I'll replace them with the new ones once I'm available. For now you can replace the files yourself.

souravsk commented 4 months ago

Looks like the stable-diffusion-webui files used in my /sd-docker-slim is outdated. I'll replace them with the new ones once I'm available. For now, you can replace the files yourself.

Should I replace all the folders on sd-docker-slim with automatic1111 web UI @wolverinn

souravsk commented 4 months ago

I have replaced the folder that are available in the automatic web UI repo and which are not available I user your file but still I'm getting error.

nexgensis@nexgensis-ThinkPad-E14-Gen-3:~/Desktop/AI/sd-docker-slim$ docker build -t sd-multi .
[+] Building 3.1s (11/11) FINISHED                            docker:default
 => [internal] load build definition from Dockerfile                    0.0s
 => => transferring dockerfile: 1.20kB                                  0.0s
 => [internal] load metadata for docker.io/library/python:3.10-slim     1.8s
 => [internal] load .dockerignore                                       0.0s
 => => transferring context: 2B                                         0.0s
 => [1/7] FROM docker.io/library/python:3.10-slim@sha256:64157e9ca781b  0.0s
 => [internal] load build context                                       0.1s
 => => transferring context: 98.98kB                                    0.1s
 => CACHED [2/7] COPY requirements.txt /                                0.0s
 => CACHED [3/7] RUN apt-get update && apt-get install -y libgl1-mesa-  0.0s
 => CACHED [4/7] RUN pip3 install -r requirements.txt &&     pip3 inst  0.0s
 => [5/7] COPY . /                                                      0.6s
 => [6/7] RUN chmod +x docker_entrypoint.sh                             0.2s
 => exporting to image                                                  0.4s
 => => exporting layers                                                 0.4s
 => => writing image sha256:46552c09080a26109d37e875473a67a4a26a20037b  0.0s
 => => naming to docker.io/library/sd-multi                             0.0s
nexgensis@nexgensis-ThinkPad-E14-Gen-3:~/Desktop/AI/sd-docker-slim$ docker run -it -p 7860:7860 sd-multi
Mount success. Executing CMD now...
Traceback (most recent call last):
  File "/handler.py", line 18, in <module>
    from modules.call_queue import wrap_queued_call, queue_lock, wrap_gradio_gpu_call
  File "/modules/call_queue.py", line 5, in <module>
    from modules import shared, progress, errors, devices, fifo_lock
  File "/modules/shared.py", line 4, in <module>
    import gradio as gr
  File "/usr/local/lib/python3.10/site-packages/gradio/__init__.py", line 3, in <module>
    import gradio.components as components
  File "/usr/local/lib/python3.10/site-packages/gradio/components.py", line 34, in <module>
    from gradio import media_data, processing_utils, utils
  File "/usr/local/lib/python3.10/site-packages/gradio/processing_utils.py", line 23, in <module>
    from gradio import encryptor, utils
  File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 416, in <module>
    class AsyncRequest:
  File "/usr/local/lib/python3.10/site-packages/gradio/utils.py", line 436, in AsyncRequest
    client = httpx.AsyncClient()
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1397, in __init__
    self._transport = self._init_transport(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1445, in _init_transport
    return AsyncHTTPTransport(
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 275, in __init__
    self._pool = httpcore.AsyncConnectionPool(
TypeError: AsyncConnectionPool.__init__() got an unexpected keyword argument 'socket_options'
nexgensis@nexgensis-ThinkPad-E14-Gen-3:~/Desktop/AI/sd-docker-slim$ 
wolverinn commented 4 months ago

Check out replicate-cog-slim/

souravsk commented 4 months ago

That folder did not have dockerfile i want to build a docker file