Stable Diffusion WebUI のWindows 10に同じローカルネットワーク上のPCやスマホからアクセスできるようにする
Windows 10にインストールして立ち上げた Stable Diffusion WebUI を同じローカルネットワーク上のPC(Macやスマホなど)からアクセスできるようにした設定のメモです。
Stable Diffusion WebUIで立ち上がったWebサーバーは完全に内部でしかアクセスできないようで、いくらファイアウォールやポートの設定を試してもダメでした。
最終的にポートフォワーディングしかないのかと思っていましたが、batファイルを一つ作成するだけですぐできました。
こちらの記事が大変参考になりました。
きらりこねっと | Stable Diffusion Web UI(AUTOMATIC1111版)を導入したのとWaifu DiffusionやTrinArtのモデルを使ってみたのと【AI画像生成】
本当に助かりました、ありがとうございます。
ポート開放とかファイアウォールの設定とか補足的に書いていきます。
手順
- .batを新規作成
- 7860番ポートを開放
①.batを新規作成
webui.bat と同じディレクトリに.batを新規作成します
中身は以下の三行をコピペしてください。
@echo off
set COMMANDLINE_ARGS=--listen
call webui.bat
私は webui-server.bat と保存しました。
7860番ポートを開けている人はwebui-server.bat から起動してみてください。
余談)
きらりこねっと さんの記事には、Github上に上記のやり方が記述されてた、と書いてあるんですが私は見つけることができませんでした…
webui-server.bat を起動
venv "C:\user\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)]
Commit hash: 604620a7f08d1126a8689f9f4bec8ade0801a69b
Installing requirements for Web UI
Launching Web UI with arguments: --listen
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
making attention of type 'vanilla' with 512 in_channels
Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
making attention of type 'vanilla' with 512 in_channels
Loading weights [e1de58a9] from C:\AI\stable-diffusion-webui\models\Stable-diffusion\model.ckpt
Global Step: 683410
Applying cross attention optimization (Doggettx).
Model loaded.
Loaded a total of 0 textual inversion embeddings.
Embeddings:
Running on local URL: http://0.0.0.0:7860
127.0.0.1:7860 だった箇所が 0.0.0.0:7860 に変更されました
(なお 127.0.0.1:7860 でも変わらずアクセスできます)
②7860番ポートを開放
ローカルネットワーク上でアクセスできるように、ファイアウォールで7860b版ポートを空ける設定を行います
[設定>ネットワークとインターネット>Windows ファイアウォール]を開く
[詳細設定]を開く
アラートが出るので[はい]
画面[セキュリティが強化されたWindows Defender ファイアウォール]
で[受信の規則]>[新しい規則…]をクリック
画面にしたがって7860ポートを設定します
規則の種類:ポート
TCPを選択して特定のローカルポートに[7860]を入力
操作:接続を許可する
プロファイル:プライベート
ドメインやパブリックはセキュリティ上危険なのでプライベートだけにしておきましょう。
名前:後でわかる名前と説明を入れておきましょう。
私は[Stable Diffusion WebUI]としてます。
入力後、受信の規則一覧に表示されていたら完了です。
利用しない時は右クリックの[規則の無効化]にすればポートを閉じます。
他のデバイスからアクセス
稼働WindowsのIPアドレスを調べておきます。
IPアドレスがわかったら後ろにポート番号:7860 を加えてアクセスします。
例) http://192.168.1.2:7860/
稼働Windows上からアクセスできれば成功です。
7860番ポートが開いていれば、同一LAN上のデバイスからもこのURLで、Windows上のStable Diffusion WebUIにアクセスできます。
これで寝る前に手持ちのスマホで思いついたPromptで生成させることもできるようになったわけです。
IPアドレスはDHCPサーバー(ルーター)の再起動などで変わることもあるので、よく使う人はIPアドレスを手動で固定にしてくといいです。
Discussion