---
title: "LobeHub をセルフホスト：自分のモデル API につなぐ、複数人で使える AI チャットプラットフォーム"
description: "Zenavo のテンプレートで LobeHub を PostgreSQL、Redis、RustFS ファイルストレージとともに自分のサーバーにデプロイします。2つのドメインを設定し、登録後に登録できるメールアドレスを制限して、OpenAI や Claude などのモデルプロバイダーに接続し、バックアップとアップグレードに備える方法を説明します。"
date: 2026-11-13
language: ja-JP
url: https://zenavo.app/ja-JP/blog/self-host-lobehub
---

# LobeHub をセルフホスト：自分のモデル API につなぐ、複数人で使える AI チャットプラットフォーム

[LobeHub](https://github.com/lobehub/lobehub)（旧 LobeChat）はオープンソースの AI チャットプラットフォームです。OpenAI、Anthropic、Google、DeepSeek など数十のモデルプロバイダーに対応し、複数ユーザーのアカウント、会話履歴、ファイルのアップロード、ナレッジベース、エージェントを備えています。画面も充実しているので、チームや家族で共有する AI の入口として最適です。

サーバー版にはデータベースとファイルストレージが必要で、一から構築すると多くの設定が必要です。Zenavo の LobeHub テンプレートにはこれらがすべてまとめられています。この記事では、デプロイからバックアップまでを順に説明します。単一コンテナと1つのドメインで動くより軽量なチャット UI をお探しの場合は、[Open WebUI](https://zenavo.app/ja-JP/blog/self-host-open-webui) もご覧ください。

サーバー、Zenavo、モデルプロバイダーの API の料金はそれぞれ別に発生します。LobeHub 自体はモデルを提供せず、会話は設定したプロバイダーに送られます。

## テンプレートの内容

[LobeHub テンプレート](https://zenavo.app/deploy?template=lobehub)を開いてデプロイすると、プロジェクトに次の4つのサービスが作成されます。

| サービス | 役割 |
|---|---|
| lobehub | アプリ本体。イメージ `lobehub/lobehub:2.3.3`、HTTP ポート `3210` |
| postgresql | アカウント、会話、設定、暗号化して保存した API キー。全文検索拡張付き（ParadeDB、PostgreSQL 17） |
| redis | キャッシュとセッション |
| rustfs | S3 互換のファイルストレージ。アップロードした画像やファイルを保存します。ポート `9000` は S3 API、`9001` は管理コンソールです |

テンプレートは 2 GB のメモリを確保することを推奨しています。データベースのパスワード、ログイン用の暗号鍵（`AUTH_SECRET`）、API キー用の暗号鍵（`KEY_VAULTS_SECRET`）は、デプロイ時にすべて自動生成されます。

## 2つのドメインを用意する

LobeHub には公開アドレスが2つ必要です。

- **アプリの URL**：例 `https://chat.example.com`。LobeHub を開くためのアドレスです。
- **ファイルストレージの URL**：例 `https://files.example.com`。ブラウザが画像をアップロード・表示するときに直接アクセスします。

まず DNS で、この2つのサブドメインにサーバーを指す A レコードを追加します。次に Zenavo に [Linux サーバーを接続](https://docs.zenavo.app/ja-JP/servers/add-a-server)し、テンプレートを開いて2つの URL を入力し（末尾にスラッシュを付けないでください）、サーバーを選んでデプロイします。

## ドメインを設定する

デプロイ後、それぞれ次のように割り当てます。

1. **lobehub** サービスの **ネットワーク** タブで、ポート `3210` に `chat.example.com` を割り当てます。
2. **rustfs** サービスの **ネットワーク** タブで、ポート `9000` に `files.example.com` を割り当てます。

ドメインは、デプロイ時に入力したものと一致している必要があります。HTTPS が有効になったら `https://chat.example.com` を開きます。手順は[ドメインと HTTPS](https://docs.zenavo.app/ja-JP/networking/domains) をご覧ください。

`9001` は RustFS の管理コンソールです。公開ドメインを割り当てる必要はなく、おすすめもしません。

## アカウントを登録し、登録を制限する

アプリを開き、メールアドレスとパスワードで最初のアカウントを登録します。

テンプレートの初期状態では、誰でも登録できます。チームや家族の中だけで使う場合は、lobehub サービスの **変数** に登録を許可するメールアドレスまたはドメインを追加し、保存して再起動します。

```sh
AUTH_ALLOWED_EMAILS=example.com,friend@gmail.com
```

完全なメールアドレスでもドメインだけでもよく、カンマで区切ります。以降、リストにないメールアドレスでは登録できなくなります。

メールアドレスの確認やパスワードの再設定が必要な場合は、SMTP も設定します。

```sh
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=noreply@example.com
SMTP_PASS=SMTP のパスワード
AUTH_EMAIL_VERIFICATION=1
```

ポート 465 を使う場合は、`SMTP_SECURE` を `true` に変更します。SMTP を設定しなくても登録とログインは問題なくできますが、確認メールやパスワード再設定のメールは送信できません。

## モデルに接続する

方法は2つあり、併用もできます。

**各自が自分のキーを入力する。** ログイン後に **設定 → AI サービスプロバイダー** を開き、プロバイダーを選んで API キーを入力し、必要に応じてプロキシのアドレスを入力して、チェックをクリックします。キーは `KEY_VAULTS_SECRET` で暗号化されてデータベースに保存され、ほかのユーザーからは見えません。

**管理者がまとめて提供する。** lobehub サービスの **変数** にプロバイダーのキーを設定すると、すべてのユーザーが自分で入力しなくてもそのまま使えます。

```sh
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
DEEPSEEK_API_KEY=sk-...
```

OpenAI 互換 API のプロバイダーやゲートウェイを使う場合は、`OPENAI_PROXY_URL` でアドレスを変更できます。例えば、セルフホストした [New API](https://zenavo.app/ja-JP/blog/self-host-new-api)、[Magpie](https://zenavo.app/ja-JP/blog/self-host-magpie)、または [LiteLLM](https://zenavo.app/ja-JP/blog/self-host-litellm) ゲートウェイの `https://api.example.com/v1` を指定し、ゲートウェイで LobeHub 専用の、利用枠を制限したキーを発行します。LobeHub に無料のリアルタイム Web 検索を追加したい場合は同じプロジェクトに [SearXNG](https://zenavo.app/ja-JP/blog/self-host-searxng) を追加でき、Telegram や Discord からも AI アシスタントを使いたい場合は [OpenClaw](https://zenavo.app/ja-JP/blog/self-host-openclaw) と組み合わせられます。

**まとめて提供したキーは、ログインできる全員が使い、あなたの利用枠を消費します。** 設定する前に、前のセクションの手順で登録を制限してください。

## アップロードしたファイルについて

アップロードした画像やファイルは、rustfs の `lobe` バケットに保存されます。テンプレートはこのバケットを**公開読み取り可能**に設定しており、ブラウザが画像を直接表示できるようにしています。つまり、ファイルのアドレスを知っている人はログインせずに開けます。アドレスにはランダムなパスが含まれ、一覧表示や検索はされませんが、リンクから開かれては困る機密ファイルはアップロードしないでください。

モデルに送る画像は base64 に変換されてリクエストに直接含まれます（テンプレートで `LLM_VISION_IMAGE_USE_BASE64=1` を設定しています）。そのため、モデルプロバイダーがファイル用ドメインにアクセスできる必要はありません。

## バックアップ

バックアップが必要なものは2つあります。

- **postgresql**：アカウント、会話、設定、暗号化されたキーはすべてここにあります。**バックアップと復元** タブから、停止せずにいつでもバックアップでき、自動バックアップも設定できます。
- **rustfs**：アップロードしたファイル。ボリュームのバックアップなので、プロジェクトが停止している必要があります。メンテナンスの時間帯に行うのが適しています。

もう1つ、別途保管しておくべきものがあります。lobehub サービスの変数にある **`KEY_VAULTS_SECRET`** です。データベースを新しいデプロイに復元する際は同じ値を使う必要があり、そうしないとデータベースに保存された API キーを復号できません。**デプロイ後は変更しないでください。**

バックアップは、復元して中身を確認するまでは信頼できません。重要なデータは、バックアップをダウンロードして手元にも保管しておきましょう。

## アップグレード

テンプレートは `lobehub/lobehub:2.3.3` に固定されています。アップグレードの前に LobeHub の[リリースノート](https://github.com/lobehub/lobehub/releases)を読み、postgresql をバックアップしてから、lobehub サービスの **設定** にある **ソース** でイメージのタグを新しいバージョンに変更してデプロイします。データベースのスキーマは起動時に自動でマイグレーションされるため、アップグレードの前には必ずバックアップを取ってください。

## よくある質問

**ページを開いたあと、ログインのリダイレクトでエラーになる場合は？**
lobehub に割り当てたドメインが、デプロイ時に入力したアプリの URL と、`https://` も含めて完全に一致し、末尾にスラッシュがないことを確認してください。ドメインを変更した場合は、lobehub サービスの **変数** で `APP_URL`（ファイルストレージのアドレスは `S3_ENDPOINT`）を新しいアドレスに変更し、再起動してください。

**画像のアップロードに失敗する場合は？**
多くの場合、`files.example.com` が rustfs のポート `9000` に割り当てられていないか、HTTPS 証明書がまだ有効になっていません。ブラウザでこのドメインを直接開き、接続できれば（エラーメッセージが表示されても）割り当ては正しくできています。

**AI の応答が空、またはエラーになる場合は？**
まず **設定 → AI サービスプロバイダー** でチェックをクリックし、キーとモデルが使えることを確認してください。サードパーティのプロキシを使う場合は、アドレスの末尾に `/v1` が必要かどうかに注意してください。

**どのくらいのサーバーが必要ですか？**
テンプレートは LobeHub 用に 2 GB のメモリを確保することを推奨しています。PostgreSQL、Redis、RustFS も合わせると、4 GB 以上のメモリを持つサーバーをおすすめします。モデルの推論はプロバイダー側で行われるため、サーバーの CPU は使いません。

まずは [LobeHub テンプレート](https://zenavo.app/deploy?template=lobehub)から始めましょう。2つのドメインを用意し、デプロイしたら最初に登録を制限して、それからモデルに接続してください。
