快轉到主要內容

🐳 用Docker容器跑AUTOMATIC1111服務|Stable Diffusion WebUI使用手冊

分類   開源AI應用 AI繪圖教學
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄
Stable Diffusion WebUI使用手冊 - 點選展開系列文章
8: 本篇文章

將Stable Diffusion WebUI程式容器化的話,在Linux伺服器部署Stable Diffusion WebUI就容易多了。

這裡採用 AbdBarho維護的docker-compose,內含AUTOMATIC1111、Invoke AI、ComfyUI三種界面,彼此的模型檔可以共享,節省儲存空間。

AbdBarho維護的docker-compose僅支援Nvidia顯示卡和純CPU模式。

1. 部署容器
#

  1. 請在Ubuntu系統安裝 Git Docker,並安裝 Nvidia驅動和NVIDIA Container Toolkit套件

  2. 確認Docker認得到你的Nvidia顯示卡驅動版本:

docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
  1. 複製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 --build

註:Dockerfile所複製的不見得是最新版的Stable Diffusion WebUI,你可能需要手動修改services/AUTOMATIC1111/Dockerfile的commit取得最新版軟體。

  1. 啟動容器
docker compose --profile auto up
  1. 等待容器啟動完成,用瀏覽器開啟http://127.0.0.1:7860進入WebUI。要停止執行就是在終端機按Ctrl+C。

2. 資料目錄
#

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

自訂生圖模型放到data/Stable-diffusion

生圖的輸出目錄則是data/output

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

Docker是看不到Linux系統所有的目錄的,如果你要處理其他檔案,請將其放到Stable-diffusion模型目錄下(在Docker容器內部,絕對路徑為/stable-diffusion-webui-docker/)。或者編輯docker-compose.yml,用docker volume掛載目錄。

3. 如何更新
#

若要修改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

日後更新請使用git pulldocker compose pull指令。

Stable Diffusion WebUI使用手冊 - 點選展開系列文章
8: 本篇文章

相關文章

🖥️ 安裝至macOS|Stable Diffusion WebUI使用手冊
分類   開源AI應用 AI繪圖教學
🖥️ 安裝至Windows|Stable Diffusion WebUI使用手冊
分類   開源AI應用 AI繪圖教學
🖥️ 安裝至GNU/Linux|Stable Diffusion WebUI使用手冊
分類   開源AI應用 AI繪圖教學

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。