Local / Edge実践ガイド

Open WebUIとOllamaをDockerで始める方法|データを残す最小構成

Open WebUIとOllamaをDockerで始める方法 — データを残す最小構成
目次

公式サイトで次に進む

この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。

local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。

Ollamaをすでにコマンドラインから使えているなら、Open WebUIを追加するためにOllamaを入れ直す必要はない。

最初は、OllamaをホストPCで動かし、Open WebUIだけをDockerコンテナで動かす構成として分けて考える。

この構成で詰まりやすいのは、コンテナ内のlocalhostがホストPCを指さないことと、Open WebUIのデータをDockerボリュームへ保存せず失うことだ。

Open WebUIとOllamaをDockerで始める方法|データを残す最小構成の要点を図解

図を拡大して見る

図: 処理や設定の流れを1枚に整理。実際の操作条件は本文で確認する。

Open WebUIのデータをボリュームへ保存する

Open WebUIの公式Quick Startでは、次のようなDocker起動例が案内されている。

docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

Windows PowerShellでは一行で実行してもよい。

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

重要なのは、-v open-webui:/app/backend/dataだ。Open WebUIの保持したいデータをDockerボリュームへ置くための指定になる。

コンテナを作り直してもボリュームを残していればデータを引き継げる構成にできる一方、ボリューム自体を削除すればチャットや設定なども失う可能性がある。

また、:mainは更新されるタグなので、後から同じバージョンを再現したい運用ではリリースタグを固定する方が管理しやすい。

ブラウザーでOpen WebUIを開く

起動後、同じPCのブラウザーから次を開く。

http://localhost:3000

画面が開けば、まずOpen WebUIのコンテナ自体は起動している。

この時点でモデル一覧が空でも、Open WebUIの起動失敗とは限らない。次にOllamaとの接続を確認する。

Docker内からホストPCのOllamaへ接続する

Ollamaがホスト側で動いていて、Open WebUIだけがDocker内にある場合、Open WebUIの公式資料では接続先の例として次が案内されている。

http://host.docker.internal:11434

Open WebUIの管理設定からOllamaの接続先を確認する。

コンテナ内のlocalhost:11434は通常コンテナ自身を指すため、ホストPCで動くOllamaへは届かない。ブラウザーからホストのlocalhostへ接続できることと、Docker内のOpen WebUIからホストへ接続できることは別だ。

接続できたら、Ollamaに用意してあるモデルがOpen WebUIのモデル選択欄へ表示されるか確認する。

最初のチャットは一回だけ確認する

モデルを一つ選び、短い入力を送る。

1から3までを数字だけで書いてください。

ここでは回答品質を評価する必要はない。

  • Ollamaのモデルが選択欄へ出る
  • 送信時にエラーにならない
  • 応答が返る

の三点を確認する。

失敗したら、Open WebUI、Dockerのネットワーク、Ollamaを一度に変更せず、まず接続先URLとOllamaがホスト側で動いているかを確認する。

再起動してチャットと設定が残るか確認する

最後にOpen WebUIのコンテナを再起動する。

docker restart open-webui

もう一度http://localhost:3000を開き、先ほどのチャットや設定が残っていれば、データ保存を含む最小構成を確認できたことになる。

インターネット公開、複数ユーザー、リバースプロキシ、追加の認証は、この最初の成功とは分ける。ローカルで動いたことだけを外部公開時の安全性保証にしない。

バックアップまで確認する場合は、Open WebUIをDockerでバックアップ・復元する方法へ進める。

まとめ

  • Open WebUIの保持したいデータは`/app/backend/data`へDockerボリュームを割り当てて保存する
  • Open WebUIがDocker内、OllamaがホストPC側なら、コンテナからホストへ到達できるURLを使う
  • 最初は同じPCの`localhost:3000`で動作を確認し、インターネット公開は別作業にする
  • Open WebUIを再起動した後も、チャットと設定が残っているところまで確認する
同じテーマから

この記事で扱ったデータ

モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。

サイト内検索