Docker容器技術可以方便在多個平台部署Stable Diffusion WebUI。
將程式容器化的話,在不同Linux發行版跑Stable Diffusion WebUI就容易多了。
以Ubuntu 22.04為例,採用AbdBarho維護的docker-compose,僅支援Nvidia顯示卡。
安裝Git、 Docker,並確認已安裝 Nvidia驅動、CUDA、NVIDIA Container Toolkit套件
複製AbdBarho的儲存庫
git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git
cd stable-diffusion-webui-docker
- 安裝依賴套件,過程中會自動下載一個Stable Diffusion的模型。
docker compose --profile download up --build
- 啟動容器,選取auto代表啟動AUTOMATIC1111開發的WebUI
docker compose --profile auto up --build
- 等待啟動完成,用瀏覽器開啟
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