前回は Dify にモデルプロバイダー「Gemini」を登録後、「テストアプリ1」から Gemini 2.0 Flash-Lite へ接続できるところまで確認しました。
今回は、「テストアプリ1」を公開していきます。
結論から言えば、公開したチャットボットは問題なく動作しました。
しかし、Difyが示した「アプリを指し示す URL」が実態と異なるため、そのままでは画面を表示することができませんでした。
ただ、Dify は全く悪くないのです。
詳細は後述します。
「テストアプリ1」の公開
① オーケストレート画面の表示
スタジオ画面の「テストアプリ1」をクリックし、オーケストレート画面を表示します。

② モデルの選択
前回と同様に、使用するモデルとして Gemini 2.0 Flash-Lite を選択します。

③ アプリの公開
「公開する」ボタンをクリックすると、直下に公開操作用のウィンドウが表示されます。
青い「Publish Update」ボタンをクリックして、アプリを公開できる状態に更新します。

公開されると「Publish Update」ボタンの色が薄青に変わり、クリックできなくなります。

④ アプリの実行
そのまま「アプリを実行」ボタンをクリックすると、ブラウザの別タブが開きます。
そこには「テストアプリ1」の画面が表示され・・・ませんでした。(汗)

問題発生
開いたブラウザ画面には接続エラーが表示されました。
最初はネットワーク的な接続設定に問題があると思いましたが違いました。

ブラウザに表示された URL は次のとおりです。
http://192.***.***.200/chat/V6M5*********Xp6
一方、Dify 編集画面の URL は次のとおりです。
http://192.***.****.200:20080/app/********/configuration
違いは「:20080」の有無です。
URLに追記してみると、次の画面が表示されました。

試しに「こんにちは。あなたのことについて教えてください。」と入力した結果です。

ポート番号が付加されない件
原因は、外部からアクセスする際のポート番号(20080)を、Dify 自身が認識していない点にあります。
しかし、Dify 自身には問題はありません。
Docker コンテナの設定でポートマッピングを変更しているので、Dify 自身がそれを自動で判別することは不可能なのです。

また、この図では省略していますが、実は Home Network 内には複数の PC や スマートフォンがあります。
Cloudflare Tunnel 経由でアクセスする場合も含め、それらすべてから同じ URL でアクセスできるようにするには、多少の工夫が必要そうです。
この問題はひとまず棚上げし、先に Cloudflare Tunnel からアクセスする環境を整えることにします。