🐳 用Docker容器跑

Docker容器技術可以方便在多個平台部署Stable Diffusion WebUI。

將程式容器化的話,在不同Linux發行版跑Stable Diffusion WebUI就容易多了。

以Ubuntu 22.04為例,採用AbdBarho維護的docker-compose,僅支援Nvidia顯示卡。

  1. 安裝Git、 Docker,並確認已安裝 Nvidia驅動、CUDA、NVIDIA Container Toolkit套件

  2. 複製AbdBarho的儲存庫

git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git
cd stable-diffusion-webui-docker
  1. 安裝依賴套件,過程中會自動下載一個Stable Diffusion的模型。
docker compose --profile download up --build
  1. 啟動容器,選取auto代表啟動AUTOMATIC1111開發的WebUI
docker compose --profile auto up --build
  1. 等待啟動完成,用瀏覽器開啟http://127.0.0.1:7860進入WebUI。要停止執行就是在終端機按Ctrl+C。

此docker-compose啟動的Stable Diffusion WebUI,資料會掛載至同一目錄下的data目錄。

自訂模型放到data/Stable-diffusion

生圖的輸出資料夾則是data/output

擴充功能請從網頁界面裝,或是在data新建extensions目錄再於該處放入擴充功能的目錄。

若要修改WebUI啟動時的 命令列引數,編輯此專案目錄下的docker-compose.yml,修改CLI_ARGS這一行:

  auto: &automatic
    <<: *base_service
    profiles: ["auto"]
    build: ./services/AUTOMATIC1111
    image: sd-auto:51
    environment:
      - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api