---
title: "自架 LobeHub：多人共用的 AI 對話平台，串接自己的模型 API"
description: "用 Zenavo 的範本把 LobeHub 連同 PostgreSQL、Redis 和 RustFS 檔案儲存部署到自己的伺服器上，綁定兩個網域，註冊後限制可註冊的電子郵件，串接 OpenAI、Claude 等模型服務商，並做好備份和升級。"
date: 2026-11-13
language: zh-TW
url: https://zenavo.app/zh-TW/blog/self-host-lobehub
---

# 自架 LobeHub：多人共用的 AI 對話平台，串接自己的模型 API

[LobeHub](https://github.com/lobehub/lobehub)（前身為 LobeChat）是一個開源的 AI 對話平台：支援 OpenAI、Anthropic、Google、DeepSeek 等數十家模型服務商，有多使用者帳號、對話紀錄、檔案上傳、知識庫和智慧代理。介面完整，很適合為團隊或家人架設一個共用的 AI 入口。

伺服器端版本需要資料庫和檔案儲存，從零開始自己架設要設定不少東西。Zenavo 的 LobeHub 範本把這些都打包好了，本文從部署一路走到備份。如果只想用單一容器和 1 個網域架設更輕量的聊天介面，也可以參考 [Open WebUI](https://zenavo.app/zh-TW/blog/self-host-open-webui)。

伺服器、Zenavo 平台和模型服務商的 API 分別計費；LobeHub 本身不提供模型，對話會送到你設定的服務商。

## 範本包含什麼

開啟 [LobeHub 範本](https://zenavo.app/deploy?template=lobehub)，部署後專案裡會有四個服務：

| 服務 | 用途 |
|---|---|
| lobehub | 應用程式本身，映像檔 `lobehub/lobehub:2.3.3`，HTTP 連接埠 `3210` |
| postgresql | 帳號、對話、設定和加密儲存的 API Key，附全文搜尋擴充（ParadeDB，PostgreSQL 17） |
| redis | 快取和工作階段 |
| rustfs | 相容 S3 的檔案儲存，存放上傳的圖片和檔案；連接埠 `9000` 是 S3 API，`9001` 是管理主控台 |

範本建議預留 2 GB 記憶體。資料庫密碼、登入加密金鑰（`AUTH_SECRET`）和 API Key 的加密金鑰（`KEY_VAULTS_SECRET`）都會在部署時自動產生。

## 準備兩個網域

LobeHub 需要兩個公開網址：

- **應用程式網址**，例如 `https://chat.example.com`，用來開啟 LobeHub；
- **檔案儲存網址**，例如 `https://files.example.com`，瀏覽器上傳和檢視圖片時會直接存取它。

先在 DNS 為這兩個子網域新增指向伺服器的 A 記錄。接著在 Zenavo 中[連接一台 Linux 伺服器](https://docs.zenavo.app/zh-TW/servers/add-a-server)，開啟範本，填入這兩個網址（結尾不要加斜線），選擇伺服器並部署。

## 綁定網域

部署後分別綁定：

1. 在 **lobehub** 服務的 **網路** 頁，為 `3210` 連接埠綁定 `chat.example.com`；
2. 在 **rustfs** 服務的 **網路** 頁，為 `9000` 連接埠綁定 `files.example.com`。

網域必須和部署時填寫的一致。等 HTTPS 生效後開啟 `https://chat.example.com`。步驟見[網域文件](https://docs.zenavo.app/zh-TW/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 也能正常註冊和登入，只是無法寄出驗證信和重設密碼的信。

## 串接模型

有兩種方式，可以同時使用。

**每個人填自己的 Key。** 登入後開啟 **設定 → AI 服務商**，選擇服務商，填入 API Key，必要時填寫代理位址，再點檢查。Key 會用 `KEY_VAULTS_SECRET` 加密後存進資料庫，其他使用者看不到。

**由管理員統一提供。** 在 lobehub 服務的 **變數** 中設定服務商的 Key，所有使用者都能直接使用，不必自己填：

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

相容 OpenAI API 的服務商或閘道，可以用 `OPENAI_PROXY_URL` 改位址，例如指向你自架的 [New API](https://zenavo.app/zh-TW/blog/self-host-new-api)、[Magpie](https://zenavo.app/zh-TW/blog/self-host-magpie) 或 [LiteLLM](https://zenavo.app/zh-TW/blog/self-host-litellm) 閘道 `https://api.example.com/v1`，再用閘道為 LobeHub 單獨發一把有額度限制的金鑰。想為 LobeHub 加上免費的即時聯網搜尋，還可以在同一個專案裡加入自架的 [SearXNG 元搜尋引擎](https://zenavo.app/zh-TW/blog/self-host-searxng)；想把個人助理接進 Telegram 或 Discord，可搭配 [OpenClaw](https://zenavo.app/zh-TW/blog/self-host-openclaw)。

**統一提供的 Key 會被所有能登入的人使用，並消耗你的額度。** 設定之前，請先依照上一節限制註冊。

## 關於上傳的檔案

上傳的圖片和檔案存放在 rustfs 的 `lobe` 儲存桶裡。範本把這個儲存桶設為**公開可讀**，讓瀏覽器可以直接顯示圖片：知道檔案網址的人不需要登入就能開啟它。網址裡含有隨機路徑，不會被列出或搜尋到，但請不要上傳你無法接受被人透過連結開啟的敏感檔案。

送給模型的圖片會轉成 base64 直接放進請求裡（範本設定了 `LLM_VISION_IMAGE_USE_BASE64=1`），所以模型服務商不需要能存取你的檔案網域。

## 備份

需要備份的有兩部分：

- **postgresql**：帳號、對話、設定和加密的 Key 都在這裡。在它的 **備份與還原** 中隨時都能備份，不必停機，也可以設定自動備份。
- **rustfs**：上傳的檔案。這是磁碟區備份，需要專案處於停止狀態，適合在維護時段進行。

還有一樣東西要另外保存：lobehub 服務變數裡的 **`KEY_VAULTS_SECRET`**。把資料庫還原到新的部署時，必須使用同一個值，否則存在資料庫裡的 API Key 將無法解密。**部署後不要修改它。**

備份要實際還原並核對過才算可靠。重要的資料，請再下載一份備份自行保存。

## 升級

範本固定使用 `lobehub/lobehub:2.3.3`。升級前先讀 LobeHub 的[發行說明](https://github.com/lobehub/lobehub/releases)，備份 postgresql，再到 lobehub 服務 **設定** 的 **來源** 中把映像檔標籤改成新版本並部署。資料庫結構會在啟動時自動遷移，所以升級前務必先備份。

## 常見問題

**開啟頁面後，登入跳轉出錯？**
檢查 lobehub 綁定的網域是否與部署時填寫的應用程式網址完全一致，包括 `https://`，而且結尾沒有斜線。如果改過網域，請在 lobehub 服務的 **變數** 裡把 `APP_URL`（檔案儲存網址則是 `S3_ENDPOINT`）改成新網址，再重新啟動。

**上傳圖片失敗？**
多半是 `files.example.com` 沒有綁定到 rustfs 的 `9000` 連接埠，或 HTTPS 憑證還沒生效。在瀏覽器直接開啟這個網域，能連上（即使顯示錯誤訊息）就代表綁定正確。

**AI 回覆是空的或出現錯誤？**
先在 **設定 → AI 服務商** 裡點檢查，確認 Key 和模型可以使用。使用第三方代理時，留意位址是否需要以 `/v1` 結尾。

**需要多大的伺服器？**
範本建議為 LobeHub 預留 2 GB 記憶體，加上 PostgreSQL、Redis 和 RustFS，建議使用 4 GB 記憶體以上的伺服器。模型推論在服務商那端進行，不會占用你伺服器的 CPU。

從 [LobeHub 範本](https://zenavo.app/deploy?template=lobehub)開始：準備好兩個網域，部署後先限制註冊，再串接模型。
