実行プログラムと拡張機能

Open WebUIで自分のPCにAIチャット画面を作る

OllamaなどのモデルサーバーにOpen WebUIを接続すると、ブラウザーで会話し、添付ファイルについて質問できます。

Open WebUIはモデルそのものではなく、ローカルモデルサーバーへリクエストを送るチャット画面です。Dockerコンテナを自分のPC内だけで接続できるポートで起動し、最初の管理者アカウントを作成してOllama接続を追加します。会話とアップロードしたファイルは指定したデータボリュームに保存されるため、その保存先とバックアップ1も管理してください。

実行条件と要点
  • Open WebUI自体にモデルは含まれず、Ollamaまたは互換APIサーバーに接続します。
  • Dockerのポートを127.0.0.1にバインドすると、このPCからだけWeb画面に接続できます。
  • Docker内のOpen WebUIからホスト上のOllamaへ接続するには、host.docker.internalのアドレスを使います。
  • 会話とアップロードファイルはデータボリュームに保存されるため、コンテナを作り直す際もボリュームを保持します。

Open WebUIはモデルに接続するチャット画面です

Open WebUIは、ブラウザーでローカル言語モデルと会話し、添付ファイルについて質問するためのWebインターフェースです。OllamaまたはOpenAI互換API2サーバーに入力を送り、応答を表示します。モデル自体は提供しないため、先にモデルサーバーを起動しておきます。

ここではMacアプリのOllamaとDocker Desktop上のOpen WebUIを接続します。コンテナを起動して最初の管理者アカウントを作り、Ollamaの接続先を登録します。モデルが選択欄に表示されたらテキストで応答を確認し、最後に短いPDFを添付して質問します。

ブロック図のノートPCから、色ブロック入りの装置を通じて書類パネルへつながる図
チャット画面はモデルサーバーにリクエストを送り、応答を表示します。

Dockerを準備してローカルポートでコンテナを起動します

Docker Desktopをインストールして起動し、ターミナルからOpen WebUIコンテナを開始します。127.0.0.1:3000:8080は、このPCの3000番ポートをコンテナ内の8080番ポートに接続します。open-webuiボリュームにはアカウント、設定、会話、アップロードデータを保存します。

Open WebUIコンテナを起動
docker run -d --name open-webui --restart unless-stopped -p 127.0.0.1:3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data ghcr.io/open-webui/open-webui:main
ボリュームを維持すると、コンテナを作り直してもアカウントと保存データが残ります。

コンテナが起動したら、ブラウザーでhttp://127.0.0.1:3000を開きます。最初の画面にCreate Admin Accountが表示されたら、ユーザー名とパスワードを決めます。この最初のアカウントが管理者となり、その後は一般ユーザー登録が既定で無効になります。設定や会話に再びアクセスできるよう、パスワードとDockerボリュームを保管してください。ログイン後、次の節でOllamaを接続して、モデル一覧を読み込みます。

Docker内のOpen WebUIからOllamaへ接続します

Ollama を Mac アプリ、Open WebUI を Docker Desktop で実行する場合は、この設定を使います。コンテナ内の localhost は Ollama ではなく Open WebUI コンテナを指します。Docker Desktop からホスト Mac の Ollama API に接続するには http://host.docker.internal:11434 を使います。

Ollama は既定では Mac の 127.0.0.1 からのみ接続を受け付けます。Docker からのリクエストを受けるには、macOS アプリを起動する前に OLLAMA_HOST を 0.0.0.0:11434 に設定し、アプリを再起動します。この設定ではすべてのネットワークインターフェースで接続を受け付け、既定の API 認証もありません。

信頼できないネットワークではこの設定を使わないでください。ファイアウォールで 11434 番ポートへの着信を制限し、ルーター経由でポートを公開しないでください。

Mac上のOllamaでDocker接続を受け付ける設定
launchctl setenv OLLAMA_HOST 0.0.0.0:11434
実行後にOllamaアプリを再起動します。待ち受け範囲が広がるため、信頼できるネットワークでファイアウォール制限を適用して使います。

アバターメニューからSettings → Admin → Connectionsへ移動し、Ollama API接続にhttp://host.docker.internal:11434を入力して保存します。モデル選択欄にOllamaで取得したモデルが表示されたら、短いテキスト質問を送り、回答を確認します。モデル一覧が空、または接続エラーになる場合は、Ollamaが起動していることと、ターミナルのollama listにモデルが表示されることを先に確認します。

Ollamaで取得したモデルを確認
ollama list
ここにモデル名が表示されると、Open WebUIの選択欄から選べます。
小さなロボット装置がブラウザー・カレンダー・メッセージ画面につながる机
モデル接続を確認してから、短い文書で質問を試します。

実際のファイルで会話保存とPDFへの質問を試します

接続したモデルに、公開してもよい短い文章を送り、応答を確認します。新しい会話を作って同じ文を送ると別の会話として記録されます。サイドバーから最初の会話を開き、保存されたことを確認してください。データボリュームを削除すると会話も失われることがあるため、ボリュームを削除する前に必要なデータをバックアップします。

次に短いPDFを添付し、特定の見出しや日付を探すよう質問します。応答内容を実際のページと照合し、ファイルが処理されて結果が使えるか確認します。スキャン画像のページでは文字抽出が必要な場合があります。個人情報や業務上の機密をアップロードする前に、ファイルの保存場所とバックアップ対象を確認してください。

色付きブロックの入った開いた棚、ゴミ箱、チェックリストのノートと並べたブロック
サーバーとチャット履歴は別々に保存されるため、それぞれの保存先を管理します。

画面やモデルが応答しないときは最初のエラーを調べます

ブラウザーで画面が開かない場合は、docker psでコンテナが動作しているか確認し、停止していたらdocker logs open-webuiで最初のエラーを読みます。コンテナが一覧にない、またはポート競合が表示される場合は、別のプログラムが3000番ポートを使用していないか調べ、別のローカルポートに割り当てます。

画面が開いてもモデルが表示されない場合は、Settings → Admin → Connections で Ollama の URL が http://host.docker.internal:11434 か確認します。このアドレスは Mac の Docker Desktop で使います。ollama list にモデルがあり Ollama も実行中なのに接続できない場合は、Mac 上の Ollama が Docker からのリクエストを受け付ける設定か確認します。

Linux ホストに Ollama をインストールした場合、host.docker.internal は自動では利用できないことがあります。Docker の host-gateway マッピングまたはホストネットワーク接続を設定し、その構成に合った Ollama アドレスを指定します。

用語の注釈

  1. バックアップ — 設定とデータをファイルとして保存しておくことです。機器が故障しても同じ設定に戻せます。

    本文に戻る
  2. API — 別のコードからプログラムの機能を呼び出すための決められたインターフェースです。

    本文に戻る

よくある質問

この記事で最初に確認すべきことは何ですか?
Open WebUIはモデルそのものではなく、ローカルモデルサーバーへリクエストを送るチャット画面です。Dockerコンテナを自分のPC内だけで接続できるポートで起動し、最初の管理者アカウントを作成してOllama接続を追加します。会話とアップロードしたファイルは指定したデータボリュームに保存されるため、その保存先とバックアップも管理してください。
選ばないほうがよいのはどのような場合ですか?
信頼できないネットワークではこの設定を使わないでください。ファイアウォールで 11434 番ポートへの着信を制限し、ルーター経由でポートを公開しないでください。