[Docker 專案] 一行指令運行 Stable Diffusion WebUI 和 Kohya's GUI

沒有留言:
↑ Stable Diffusion 最有名的圖片是一個太空人騎馬。我們用 Docker,讓他騎個鯨魚🐋!

每次只要遇到 Python 專案,我在運行前一定先看有沒有提供 Dockerfile

Why?

你有沒有遇過安裝了 Python 2.7, 3.8, 3.9, 3.11,然後新程式只能跑在 3.10。
重點是還不一定能升級,裝好了 Python 3.11 不代表你可以跑 3.8, 3.9, 3.10 的程式!
Python Developer 裝這麼多版本不累嗎😅

我知道你會說 conda,玩 Python 的人不可能沒用過 Anaconda,它用來解決這惱人的依頼問題,讓你方便地換個程式就切換一套運行環境。
這發明很棒,真的,「先有需求」才有供給對吧😏

直到有一天 C 槽被各版本的 Python、各程式專屬的 environment 給佔滿
我最終決定把它們全都砍了,從此以後打死不在本機裝 Python
通通給我到容器🐋裡去吧!

不方便開發?
開發需求推薦 devcontainer
專案做好 .devcontainer 設定檔 & 一鍵建立 GitHub CodeSpaces
Python 開發體驗一級棒👍

......前提是你懂 Docker

說回今天的主題,Stable Diffusion WebUIKohya's GUI,這兩套程式都有前人做了容器化。
我過往看過 Dockerfile 後認為「有最佳化的餘地,但沒什麼大問題」並直接使用了一段時間。

前兩週比較有空閒,於是來貢獻貢獻所學,重寫了更好的 Dockerfile。

bmaltais/kohya_ss 已經 PR 回原專案,現在 master branch 上面的 Dockerfile 是我重寫的
AUTOMATIC1111/stable-diffusion-webui 不接受 Dockerfile,我是放在自己的 GitHub,並做了整套的 CI

目錄