diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..604f0f2cf --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +models diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..32c95a39f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM python:3.10.13 + +# USER samuel +WORKDIR /products/app +# COPY . . +COPY dockerenv/pip.conf ~/.pip/pip.conf +RUN pip3 install requests + +RUN pip3 install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu121 +COPY requirements.txt requirements.txt +RUN pip3 install -r requirements.txt +RUN git config --global --add safe.directory /products/app +RUN git config --global --add safe.directory /products/app/repositories/stable-diffusion-webui-assets +RUN git config --global --add safe.directory /products/app/repositories/stable-diffusion-stability-ai +RUN git config --global --add safe.directory /products/app/repositories/generative-models +RUN git config --global --add safe.directory /products/app/repositories/k-diffusion +RUN git config --global --add safe.directory /products/app/repositories/BLIP + +RUN mv /etc/apt/sources.list.d/debian.sources /etc/apt/sources.list.d/debian.sources.bak +COPY dockerenv/debian.sources /etc/apt/sources.list.d/debian.sources +RUN apt-get update +# python-opencv需要 +RUN apt-get install ffmpeg libsm6 libxext6 -y + +CMD ["python","launch.py","--xformers","--api","--no-half","--disable-nan-check","--port","17860"] +# export HTTP_PROXY=http://ngrok.samuelzuuka.com:15081 +# export HTTPS_PROXY=http://ngrok.samuelzuuka.com:15081 diff --git a/compose.yml b/compose.yml new file mode 100644 index 000000000..a4c287870 --- /dev/null +++ b/compose.yml @@ -0,0 +1,29 @@ +services: + stable-diffusion: + build: . + deploy: + resources: + reservations: + devices: + - driver: nvidia + device_ids: ["all"] + capabilities: [gpu] + ports: + - 17860:17860 + volumes: + - .:/products/app/ + restart: unless-stopped + entrypoint: ["python","-m","http.server"] + #environment: + #- HTTP_PROXY=http://ngrok.samuelzuuka.com:15081 + #- HTTPS_PROXY=http://ngrok.samuelzuuka.com:15081 + # 访问外部主机的服务127.0.0.1:7860 + # network_mode: host + # healthcheck: + # test: python healthcheck.py || exit 1 + # interval: 5s + # timeout: 10s + # retries: 3 + # start_period: 10s + # redis: + # image: "redis:alpine" diff --git a/dockerenv/debian.sources b/dockerenv/debian.sources new file mode 100644 index 000000000..4316e41ea --- /dev/null +++ b/dockerenv/debian.sources @@ -0,0 +1,5 @@ +Types: deb +URIs: https://mirrors.tuna.tsinghua.edu.cn/debian +Suites: bookworm bookworm-updates bookworm-backports +Components: main contrib +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg \ No newline at end of file diff --git a/dockerenv/pip.conf b/dockerenv/pip.conf new file mode 100644 index 000000000..1b8bb33ef --- /dev/null +++ b/dockerenv/pip.conf @@ -0,0 +1,5 @@ +[global] +index-url =https://mirrors.aliyun.com/pypi/simple/ + +[install] + diff --git a/dockerenv/ssh/id_rsa b/dockerenv/ssh/id_rsa new file mode 100644 index 000000000..b995b9de8 --- /dev/null +++ b/dockerenv/ssh/id_rsa @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAs8uvaQNTc7cJXvf1MQhBMnta2hAO65AE+1U1lT4vVltT6mvJo9vD +chQzRIVKSnALQdfXKkOPA6hoWMfUPTD3rxBQakr3Bbfkvm6ETVK7D+RW+IUierWv9ewQTZ +9hkf4enlT0OSbCUtNDjT5ya3vdrcwl1nlZxzoWPTu8MOfjeQkFSli/7LJWpSwvm7lzCD60 +aXUpwJ+w2USHJNp3nD+hSyx/4/waWJGyJUlaR/y2koSczSEgN6l4NjCtK6N9iPY4wC+/LY +54xVDV4R2iZ3ppky48bgAb6dV2n9yVAZHGo0J9riGN31t53VSMYq3l6gGbm2jzjcMhO9XX +eOS/0J740seziLAZL9Az51v6jVbZDjInKQx4ttfr7LiRWEolwnFawSgxJvSij+RkwOAvfb +jly7x0z8vet2Zici2nyL3ww12hGtppAUMLWNJFKeH2Ozf6uXyDBIvk0bYyECHp2HDO+y0x +bdaeAAeGku2aqffmNdB5PFwTPPM7fj0tUtQR75B3AAAFkP/7RhL/+0YSAAAAB3NzaC1yc2 +EAAAGBALPLr2kDU3O3CV739TEIQTJ7WtoQDuuQBPtVNZU+L1ZbU+pryaPbw3IUM0SFSkpw +C0HX1ypDjwOoaFjH1D0w968QUGpK9wW35L5uhE1Suw/kVviFInq1r/XsEE2fYZH+Hp5U9D +kmwlLTQ40+cmt73a3MJdZ5Wcc6Fj07vDDn43kJBUpYv+yyVqUsL5u5cwg+tGl1KcCfsNlE +hyTad5w/oUssf+P8GliRsiVJWkf8tpKEnM0hIDepeDYwrSujfYj2OMAvvy2OeMVQ1eEdom +d6aZMuPG4AG+nVdp/clQGRxqNCfa4hjd9bed1UjGKt5eoBm5to843DITvV13jkv9Ce+NLH +s4iwGS/QM+db+o1W2Q4yJykMeLbX6+y4kVhKJcJxWsEoMSb0oo/kZMDgL3245cu8dM/L3r +dmYnItp8i98MNdoRraaQFDC1jSRSnh9js3+rl8gwSL5NG2MhAh6dhwzvstMW3WngAHhpLt +mqn35jXQeTxcEzzzO349LVLUEe+QdwAAAAMBAAEAAAGAASLCQumQd2SqnHz4gYzJzKXW1x +XO4lIQlf3dzsmLxwHgr9Rqe6yBuZDDGiW1aG74wzu30j6HAsDnl9f7UT+j8OkreOBsWw7k +VQehslNZdyo8GmnM4/WN3QHWwIbHOQLf8qQavtmt1JQdEyFX27H2nohxnL87f/Sv+0cLU0 +vDthoGfIe+/qHJxlVXH6a2QVEUFq50yxC3L0gtimAO7V/BhxYK4MfQ6spQ08d42IeSJ67K +xsj0ySU66yy3i1UHD/xuMJyFc2h/g1D7popXKeyFTSXUABWCPxCf+eQ3G2ercrgmdCHrx3 +I/AlZpLb+mYnBOI6o0gp3T+595cdIUkM+VRwbGs89EyOjr+hkm+fC/s58ALmevVV08hr81 +krWCXbCTr/R2RzztsxmFPrMy2x7MY/WkaDX1dUpBrvHarJhX5w9aIjOOZRQImiG7DEyR91 +1GKO9UbnsFPSBxMK7aI6Wuakpg5+oBMBt9/ZemBqRziSqW/QiGhbbgGeJ5N0AdwC3BAAAA +wQCGOQr0UwDDyKhyC3exXD96pdJnCcj+7MGropQCCirczx9W8OI8xMype/SU7Da7K/oaS3 +3o+Gkz7wvrKmzTP/3sNGMOV/mUtozGGFVa01VdoH7+SxXQUtCzsg321ppo62F1hOMESSZG +50oIdDOlhNg1lVmgDJlPgAKdXVPDIn4b+rq+zqtCRMrsG3OwD7Nw3n/dsFEIPTXgAb6U5z +Wlmg/Benw1XVDzwpR2vVMWV/eOoymvnHTI/zPp1bj36Zcx+pUAAADBAPUpslAboxZUZAzb +Ty2p71uvfeJN3xhHFH/kokXiCDFWKAzilH6A+YGEbgXI816lFJ0PClegFCwsZElBdg5l6p +/t0ge6EXN1Pp0sVCmBanogvva/9EMWeUJrm0URbvw054Eoq+OXvH9HimWlc4qTZDEB44/s +2tKk2d/wDskA2AwgfM2qnVTxTyxjYwcgJAHykdXsvQY35pdI1avQGlJExnh1SCEuitpPUw +cWBVEEbkDU3JEO6Boqe9CHPJa/w5bDJwAAAMEAu75IRV09rq3vCDTnd9hgc2VM0n4XXMQn +rhKJ2OMoj9pLj7NHrsA/sESrP+/+21JGs+9x+pC/fNQTKILlCJ+l8AkLMJesG8OH0//9hW +UcufjLgEtxQLKszReVqW529eKOIPznJiwWR4KrOZBXlCIZQG2qEx+HcyeUMhATJ+vIssC7 +dPQQiW0j9JNBWCwDu5iQVaepqpIAnFMxpdbeDlJVNFCGLmmOv+NtAFEEeM9+YH/YQ7fM/0 +q3yczB6QOcE9oxAAAAF3NhbXVlbEBzYW11ZWwtWjE3MC1IRDNQAQID +-----END OPENSSH PRIVATE KEY----- diff --git a/dockerenv/ssh/id_rsa.pub b/dockerenv/ssh/id_rsa.pub new file mode 100644 index 000000000..2fe58487f --- /dev/null +++ b/dockerenv/ssh/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzy69pA1Nztwle9/UxCEEye1raEA7rkAT7VTWVPi9WW1Pqa8mj28NyFDNEhUpKcAtB19cqQ48DqGhYx9Q9MPevEFBqSvcFt+S+boRNUrsP5Fb4hSJ6ta/17BBNn2GR/h6eVPQ5JsJS00ONPnJre92tzCXWeVnHOhY9O7ww5+N5CQVKWL/sslalLC+buXMIPrRpdSnAn7DZRIck2necP6FLLH/j/BpYkbIlSVpH/LaShJzNISA3qXg2MK0ro32I9jjAL78tjnjFUNXhHaJnemmTLjxuABvp1Xaf3JUBkcajQn2uIY3fW3ndVIxireXqAZubaPONwyE71dd45L/QnvjSx7OIsBkv0DPnW/qNVtkOMicpDHi21+vsuJFYSiXCcVrBKDEm9KKP5GTA4C99uOXLvHTPy963ZmJyLafIvfDDXaEa2mkBQwtY0kUp4fY7N/q5fIMEi+TRtjIQIenYcM77LTFt1p4AB4aS7Zqp9+Y10Hk8XBM88zt+PS1S1BHvkHc= samuel@samuel-Z170-HD3P diff --git a/environment.yaml b/environment.yaml new file mode 100644 index 000000000..b7c3cf516 --- /dev/null +++ b/environment.yaml @@ -0,0 +1,14 @@ +name: stable-diffusion +channels: + - pytorch + - defaults +dependencies: + - python=3.10.13 + - pip=23.0 + # - cudatoolkit=11.8 + # - pytorch=2.1.2 + # - torchvision=0.15 + # - numpy=1.23 + +# conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia +# conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=11.8 -c pytorch -c nvidia \ No newline at end of file diff --git a/start_sd-webui-sdxl.sh b/start_sd-webui-sdxl.sh new file mode 100755 index 000000000..8089f52b0 --- /dev/null +++ b/start_sd-webui-sdxl.sh @@ -0,0 +1,8 @@ +# rem CALL conda.bat activate ai-stable-webui && python launch.py --xformers --api --no-half --disable-nan-check --port 7861 +# 添加代理 +# export http_proxy="http://ngrok.samuelzuuka.com:15081" +# export https_proxy="http://ngrok.samuelzuuka.com:15081" +# wget "https://www.google.com" +# exit 1 +# /home/samuel/dev-tools/miniconda3/bin/activate activate stable-diffusion && +python launch.py --xformers --api --no-half --disable-nan-check --port 17860 --gradio-auth zukai:zukai_1804 diff --git a/webui-user.sh b/webui-user.sh index 70306c60d..d8637c053 100644 --- a/webui-user.sh +++ b/webui-user.sh @@ -20,6 +20,7 @@ # python3 venv without trailing slash (defaults to ${install_dir}/${clone_dir}/venv) #venv_dir="venv" +venv_dir="-" # script to launch to start the app #export LAUNCH_SCRIPT="launch.py"