Open WebUI をセルフホスト:モデルの接続、アカウント管理、会話の保存
Zenavo のテンプレートで Open WebUI をデプロイし、OpenAI 互換のモデル API を接続します。管理者アカウントの登録とアクセス制限、ボリュームのバックアップとアップグレードまでを説明します。
この記事は English、简体中文、繁體中文、Español、Bahasa Indonesia でもお読みいただけます。
すでに各社のモデル API キーを持っていて、自分や少人数のチーム向けにウェブのチャット画面を用意したいなら、Open WebUI は単一コンテナで動かせる手軽な選択肢です。複数ユーザーのアカウント、会話履歴、ドキュメントのアップロード、モデルの切り替えが最初からそろっています。
この記事では、Zenavo の Open WebUI テンプレートを使って自分のサーバーにデプロイし、外部のモデル API を接続します。PostgreSQL、Redis、S3 互換ストレージまで備えたマルチユーザー環境と比較したい場合は、LobeHub のガイドもご覧ください。
テンプレート自体にローカルモデルや GPU 推論は含まれません。サーバー、Zenavo プラットフォーム、上流のモデル API の料金はそれぞれ別です。
Open WebUI をデプロイする
まず Zenavo に Linux サーバーを接続し、Open WebUI テンプレートを開いて、サーバーを選んでデプロイします。
現在のテンプレートの設定は次のとおりです。
| 設定 | 値・用途 |
|---|---|
| イメージ | ghcr.io/open-webui/open-webui:main |
| HTTP ポート | 8080 |
| 永続ボリューム | /app/backend/data。SQLite データベース、アップロードしたファイル、設定がここに保存されます |
WEBUI_SECRET_KEY |
プロジェクト作成時に自動生成され、ログインセッションの署名に使われます |
ENABLE_OLLAMA_API |
false。初期状態ではローカルの Ollama 接続を無効にし、外部 API をそのまま使います |
| テレメトリー変数 | SCARF_NO_ANALYTICS、DO_NOT_TRACK、ANONYMIZED_TELEMETRY を初期状態で無効化 |
| メモリ | 約 2 GB の確保を推奨 |
main タグは上流の更新に追従します。長く安定して使う場合は、サービスの 設定 → ソース でイメージを動作確認済みの固定バージョン(例:ghcr.io/open-webui/open-webui:v0.6.5)に変更してください。
ドメインを設定し、すぐに管理者アカウントを登録する
open-webui サービスの ネットワーク タブでポート 8080 にドメイン(例:chat.example.com)を割り当て、DNS にサーバーを指す A レコードを追加して HTTPS が有効になるのを待ちます。手順はドメインと HTTPS をご覧ください。
ドメインが有効になったら、すぐにサイトを開いて最初のアカウントを登録してください。 Open WebUI では最初に登録したユーザーが管理者になります。登録を終える前に他の人がアクセスすると、先に管理者を作られてしまいます。
ログインしたら、管理者パネル → 設定 → 一般(Admin Panel → Settings → General) を開き、新規ユーザーの登録ポリシーを確認します。
- 自分だけで使う場合:新規登録(Enable New Sign Ups)をオフにします。
- チームで使う場合:新規ユーザーの初期ロール(Default User Role)を「承認待ち(pending)」にしておき、承認したアカウントだけがモデルを使えるようにします。
モデル API を接続する
管理者パネル → 設定 → 外部接続(Connections) を開き、OpenAI API の欄にプロバイダーの Base URL と API キーを入力して保存します。チャット画面左上のモデル選択欄にモデル一覧が表示されます。
よくある接続方法:
- 公式または互換 API に直接つなぐ:プロバイダーが案内する OpenAI 互換の Base URL(多くは末尾が
/v1。/v1が二重にならないよう注意)と API キーを入力します。 - 自作ゲートウェイ経由でつなぐ:New API、Magpie、または LiteLLM を動かしている場合は、Base URL をそのゲートウェイに向けることで、OpenAI、Anthropic、Gemini、DeepSeek などを1つの接続先にまとめられます。Open WebUI と同じ Zenavo プロジェクト内にあるなら、
http://new-api.zenavo.internal:3000/v1のようにプライベートネットワーク経由で直接接続できます。 - Web 検索やチャットアプリ連携を追加する:モデルに最新 Web ページを検索させたい場合は同じプロジェクトに SearXNG を追加でき、Telegram・Discord・Slack から AI アシスタントを呼び出したい場合は OpenClaw と組み合わせられます。
チームで共有する場合は、管理者設定の Models で一般ユーザーに公開するモデルを絞っておくと、高価なモデルの誤用を防げます。
バックアップとアップグレード
Open WebUI のアカウント、会話履歴、ナレッジベースのファイル、接続設定はすべて /app/backend/data ボリュームにあります。また、サービスの 変数 タブにある WEBUI_SECRET_KEY はセッション保護に使われるため、デプロイ後に変更せず、控えをパスワードマネージャーに保管してください。
open-webui サービスの バックアップと復元 タブでボリュームをバックアップします。
- 誰も使っていない時間帯を選び、プロジェクトを停止します(ボリュームのバックアップにはプロジェクトの停止が必要です)。
- バックアップを作成し、完了したらプロジェクトを再起動します。
- バックアップを1つダウンロードして手元に保管します。会話履歴や保存した API キーが含まれるため、厳重に管理してください。
詳しい手順はバックアップと復元をご覧ください。アップグレードの前にはボリュームをバックアップし、Open WebUI のリリースノートを読んでからイメージタグを変更します。メジャーアップグレードではデータベース構造が移行されることがあるため、元の状態に戻すにはアップグレード前のバックアップを使います。
よくある質問
接続を保存したのにモデル一覧が空のままです
Base URL の末尾がプロバイダーの指定どおり(多くの OpenAI 互換 API では /v1)になっているか、API キーが有効か確認してください。/v1/models による一覧取得に対応していないプロバイダーでは、接続設定にモデル ID を手動で入力します。
メッセージを送ると 401 または 404 エラーが出ます
401 は API キーの誤り・期限切れ・モデル権限の不足、404 は Base URL に /chat/completions まで書いてしまっているか、/v1 が抜けているケースがほとんどです。
環境変数を変えて再起動したのに、画面の設定が変わりません Open WebUI は管理画面の設定を一度データベースに保存すると、環境変数よりもデータベースの値を優先します。変更するときは Web の 管理者パネル → 設定 から直接変更して保存してください。
ローカルの Ollama を接続できますか?
できます。テンプレートでは Ollama がない環境でエラーが出続けないよう、初期状態で ENABLE_OLLAMA_API=false にしています。同じプロジェクトやネットワーク内で Ollama を動かす場合は、ENABLE_OLLAMA_API=true に変えて OLLAMA_BASE_URL を指定してください。
まずは Open WebUI テンプレートから始めましょう。ドメインを割り当てて管理者アカウントを登録し、登録制限をかけたうえでモデル API を接続し、バックアップを整えてください。
コーディングエージェントが読む内容です(https://zenavo.app/ja-JP/blog/self-host-open-webui.md)。
Markdown を読み込めませんでした。直接開いてください: https://zenavo.app/ja-JP/blog/self-host-open-webui.md