Munzali commited on
Commit
f00d6c6
1 Parent(s): 54c420d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +42 -13
Dockerfile CHANGED
@@ -1,7 +1,9 @@
1
  FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
2
- FROM python:3.10.12
3
- # WORKDIR /code
4
 
 
 
 
 
5
 
6
  RUN apt-get update && apt-get install -y \
7
  git \
@@ -11,19 +13,48 @@ RUN apt-get update && apt-get install -y \
11
  ffmpeg libsm6 libxext6 cmake libgl1-mesa-glx \
12
  && rm -rf /var/lib/apt/lists/* \
13
  && git lfs install
14
-
15
 
16
- RUN git clone https://github.com/lllyasviel/Fooocus.git
 
 
 
 
 
 
 
 
17
 
 
 
 
18
 
19
- WORKDIR /Fooocus
 
 
 
 
 
 
 
 
20
 
 
21
 
22
- # RUN cd Fooocus
23
- RUN python3 -m venv fooocus_env
24
- # RUN source fooocus_env/bin/activate
25
- RUN pip install -r requirements_versions.txt
26
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  ENV HOME=/home/user \
29
  PATH=/home/user/.local/bin:$PATH \
@@ -32,9 +63,7 @@ ENV HOME=/home/user \
32
  GRADIO_ALLOW_FLAGGING=never \
33
  GRADIO_NUM_PORTS=1 \
34
  GRADIO_SERVER_NAME=0.0.0.0 \
35
- GRADIO_SERVER_PORT=7860 \
36
  GRADIO_THEME=huggingface \
37
  SYSTEM=spaces
38
-
39
- # RUN source fooocus_env/bin/activate
40
- RUN python entry_with_update.py --listen --port 7860 --always-cpu --share
 
1
  FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
 
 
2
 
3
+ ENV DEBIAN_FRONTEND=noninteractive \
4
+ TZ=America/Los_Angeles
5
+
6
+ ARG USE_PERSISTENT_DATA
7
 
8
  RUN apt-get update && apt-get install -y \
9
  git \
 
13
  ffmpeg libsm6 libxext6 cmake libgl1-mesa-glx \
14
  && rm -rf /var/lib/apt/lists/* \
15
  && git lfs install
 
16
 
17
+ WORKDIR /code
18
+
19
+ COPY ./requirements.txt /code/requirements.txt
20
+
21
+ # User
22
+ RUN useradd -m -u 1000 user
23
+ USER user
24
+ ENV HOME=/home/user \
25
+ PATH=/home/user/.local/bin:$PATH
26
 
27
+ # Pyenv
28
+ RUN curl https://pyenv.run | bash
29
+ ENV PATH=$HOME/.pyenv/shims:$HOME/.pyenv/bin:$PATH
30
 
31
+ ARG PYTHON_VERSION=3.10.12
32
+ # Python
33
+ RUN pyenv install $PYTHON_VERSION && \
34
+ pyenv global $PYTHON_VERSION && \
35
+ pyenv rehash && \
36
+ pip install --no-cache-dir --upgrade pip setuptools wheel && \
37
+ pip install --no-cache-dir \
38
+ datasets \
39
+ huggingface-hub "protobuf<4" "click<8.1"
40
 
41
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
42
 
43
+ # Set the working directory to /data if USE_PERSISTENT_DATA is set, otherwise set to $HOME/app
44
+ WORKDIR $HOME/app
 
 
45
 
46
+ # Copy the current directory contents into the container at $HOME/app setting the owner to the user
47
+
48
+ RUN git clone https://github.com/lllyasviel/Fooocus . && \
49
+ # pin to a specific commit
50
+ git checkout fc3588875759328d715fa07cc58178211a894386 && \
51
+ pip install --no-cache-dir xformers==0.0.20 triton==2.0.0 torch==2.0.1 torchvision==0.15.2 --extra-index-url https://download.pytorch.org/whl/cu118 && \
52
+ pip install --no-cache-dir -r requirements_versions.txt
53
+
54
+ # remove the next line if you're running on your own GPU, it set max images to 3 and disables the API
55
+ RUN sed -i "s|image_number = gr.Slider(label='Image Number', minimum=1, maximum=32|image_number = gr.Slider(label='Image Number', minimum=1, maximum=3|" webui.py && \
56
+ sed -i "s|shared.gradio_root = gr.Blocks(title='Fooocus ' + fooocus_version.version, css=modules.html.css).queue()|shared.gradio_root = gr.Blocks(title='Fooocus ' + fooocus_version.version, css=modules.html.css).queue(concurrency_count=1,api_open=False)|" webui.py && \
57
+ sed -i "s|shared.gradio_root.launch(inbrowser=True, server_name=args.listen, server_port=args.port, share=args.share)|shared.gradio_root.launch(inbrowser=True, server_name=args.listen, server_port=args.port, share=args.share, show_api=False)|" webui.py
58
 
59
  ENV HOME=/home/user \
60
  PATH=/home/user/.local/bin:$PATH \
 
63
  GRADIO_ALLOW_FLAGGING=never \
64
  GRADIO_NUM_PORTS=1 \
65
  GRADIO_SERVER_NAME=0.0.0.0 \
 
66
  GRADIO_THEME=huggingface \
67
  SYSTEM=spaces
68
+
69
+ CMD ["python", "launch.py"]