VirtualboxとDockerでStableDiffusionの環境構築をしてみた

環境構築
スポンサーリンク

こんにちは、ice_soiです!
フリーランスエンジニアをしています。

最近、画像生成AIに興味があって使ってみようと思い、Stable DiffusionやMidjourneyなどを調べていました。そこで、せっかくなので自分のローカルに環境を作ってみようと思い、StableDiffusionを試すことにしました!
今回は、備忘もかねて環境構築の記録を残していこうと思います!

PCのスペック

僕のPCのスペックは下記です

  • Windows10
  • Rythen 5 3600
  • GTX1650
  • DDR4 32GB

正直画像生成AIを使うには貧弱だと思います・・・。
単純に画像生成AIを使うならMidjourneyを使うとかクラウド環境で使うとか他にも選択肢はありますが、やってみたかったので今回はローカルでの構築することにしました!

環境の構成

個人的にやりたくなかったことが、環境が汚れるのでそのままローカルにインストールするということでした。
VM環境でできないかなと思って調べてみるとdocker環境があるようなのでこちらを利用することにしました!
https://github.com/AbdBarho/stable-diffusion-webui-docker

せっかくなのでvirtualbox + vagrant + dockerの構成にして完全にVM環境で収まるようにしようと思いました!

環境構築

下記の手順で環境を構築しました。

  1. vagrant環境を作る
  2. docker、docker-composeをインストール
  3. gitからdocker環境を持ってくる
  4. StableDiffusionの設定、起動

Pythonいれたりとかそういったものがないので、思ったよりはやることは少なかったです。

環境構築などでは下記の記事を参考にしました!
https://zenn.dev/karaage0703/articles/bf86fe4946417b

1.vagrant環境を作る

サクッとVMを作ります。
今回はubuntu22.04で作ります。
まずは初期化して

vagrant init bento/ubuntu-22.04

初回起動して

vagrant up --provision

立ち上がったらSSHでVMの中に入ります

vagrant ssh

※vagrantの起動時にSSH auth method : private keyで止まることがありました。
調べたら同じ現象が発生している人がいたようで、下記の記事を参考にしました。
https://bunsugi.com/vagrant-up-timeout-trouble-shooting/

2.docker、docker-composeをインストール

dockerとdocker-composeを使うのでインストールしていきます

dockerのインストールの手順は下記の記事を参考にしました。
https://www.kagoya.jp/howto/cloud/container/dockerubuntu/

docker-composeはcurlでインストールして

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

docker-composeコマンドを使えるようにしています

sudo chmod +x /usr/local/bin/docker-compose

3.gitからdocker環境を持ってくる

gitは最初から入っているので下記のコマンドでcloneします

git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git

4.StableDiffusionの設定、起動

Wikiに設定の仕方などが書いてありました。
https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki
最初に下記をしてから

docker compose --profile download up --build

任意のUIを指定して起動すればよいようです

docker compose --profile [ui] up --build

VMのGPUの設定はしていないのでGPUを使わないでdockerを起動してみます。

docker compose --profile auto-cpu up --build

ブラウザからVMのIP:7860にアクセスしてみると・・・
StableDiffusionが開けました!!

プロンプトを入れて画像生成もできました!

まとめ

今回はStable Diffusionが動くVM環境を作ってみました。
一旦今回はGPUを使わないで動くところまでできました!
GPUパススルーの設定などをすればVMでもGPUを使ったりできる可能性があるので、また挑戦してみようかと思います!
今後も備忘をかねて構築手順や開発記録などを記事にしていこうと思います!
最後までお読みいただきありがとうございました!
スポンサーリンク