🐙

sd.webuiでngrokを使う

2023/05/09に公開

前書き

Gradioユーザーが増えて、Gradio Liveが遅いと感じてる人が多いみたいなので、楽な代替案を書いておきます。

ちなみにこの記事はn回くらい擦られたネタです。

本題

本題に入ります。
実はsd.webuiには以前からGradio Live(--share変数)の代替としてNgrokというトンネリングサービス(Gradio Liveもこれのひとつ)を経由する外部公開が実装されています。
いくつか無料で行える代替案はありますが(Tailscale VPNなど)、現状もっとも楽で比較的セキュアな方法で外部公開が可能な手法なので、これを解説します。

アカウント登録

アカウント登録をします。
メールアドレス、GitHub、Googleの各種アカウントで登録が可能です。
ここで詰まる方はいないと思うので、軽い説明で終わります。

アカウント登録する方はコチラ
https://dashboard.ngrok.com/signup

トークンを入手する

トークンを入手します。
左上にGetting Startedがあり、プルダウンメニュー下にYour Authtokenがあります。
これをクリックしてください。

すると画面が遷移し、以下のような画面が出てきます。

一番上に出てくるCopyを押してコピーしておいてください。
これを後々使用しますので、控えておいてください。

webui-user.batに設定する

webui-user.batをなにかしらのエディタで開きます。
エディタかなにか分からない方は、メモ帳でもいいです。
xformersなどを設定したときに設定したと思いますので、ここでは説明しません。

開いたら、set COMMANDLINE_ARGS=の行を変更していきます。
すでに--xformersなどを記述している方は、スペースを1つ開けてコピペしてください。

--ngrok 先ほどコピーしたトークン --ngrok-region jp

以下の画像のようになっていれば大丈夫です。

Ctrl+Sでも保存でもなんでもいいので保存します。

実行する

普段通りwebui-user.batを実行してください。
すると、以下の画像の赤い線のようにURL: から始まるURLが出力されていると思います。

アクセスする

出力されたURLを、Windows Terminalを使っているならCtrl+クリック、なに使ってるか分からないなら、URLをブラウザにコピペしてください
普段通り使っている画面が出てくると思います。
これで自宅の外からでもアクセスできます。

これを書いているバカのように、自宅で画像生成用のサーバーを常時稼働させているなんていうことをしている人はいないと思います。(Ngrokは使ってないですが)
無料で使わせていただいてるリソースです。使わないときは接続を切る、あるいはできるだけローカルで使用するようにしてください。

注意

GitHubで編集を提案
AIものづくり研究会

Discussion