使用 1panel 圖形化部署 LobeChat 服務端資料庫版
LobeChat 是什麼?
LobeChat 是一個現代化設計的開源聊天應用與開發框架,旨在為用戶提供 ChatGPT、Gemini、Claude 和 Ollama 等多種大語言模型的接入。它支持語音合成、多模態互動以及可擴展的插件系統,使用戶可以輕鬆創建和管理自己的聊天應用。
LobeChat 的特性
- 多模型服務商支持:可以接入多種大語言模型。
- 本地大語言模型支持:允許用戶在本地運行大語言模型。
- 模型視覺識別:具備視覺識別能力。
- 語音會話(TTS & STT):支持文本轉語音和語音轉文本。
- 文本生成圖像:實現文本到圖像的轉換功能。
- 插件系統:可擴展功能,通過插件實現特定需求。
- 助手市場:提供多種助手供用戶選擇。
- 多用戶管理:支持多用戶環境。
- 漸進式 Web 應用(PWA):兼容移動設備,提供良好的用戶體驗。
- 自定義主題:用戶可以自定義界面風格。
為什麼要部署服務端資料庫版?
使用 1panel 部署 LobeChat 的服務端資料庫版,用戶可以享受更強大的數據管理能力。相較於客戶端資料庫模式,服務端資料庫模式的優勢在於:
- 數據存儲位置:數據存儲在伺服器上,可以跨設備訪問。
- 訪問權限:支持多用戶共享,適合團隊或組織使用。
- 數據量:適合存儲大數據量,支持高併發訪問。
安裝需要的前提條件
Docker 手動安裝:
- LobeChat 資料庫版本:
lobehub/lobe-chat-database - 帶有 PGVector 插件的 PostgreSQL 資料庫:
pgvector/pgvector:pg17
- LobeChat 資料庫版本:
1panel 一鍵安裝:
- 支持 S3 協議的對象存儲服務,自建 S3 存儲:MinIO
1panel 一鍵安裝(也可以 Docker 手動安裝):
- 受 LobeChat 支持的 SSO 登入鑑權服務,自建 SSO 服務:Casdoor
安裝帶有 PGVector 插件的 PostgreSQL 資料庫
首先,我們將根據官方教程,使用 Docker 容器新建一個 PostgreSQL 資料庫。
為什麼不使用 1panel 的一鍵構建?
有些小夥伴可能會疑惑,為什麼不使用 1panel 的一鍵構建?因為 1Panel 的一鍵構建不預裝 PGVector 插件。在這裡,我們將手動安裝,圖形化操作也非常簡單。
拉取 PGVector 鏡像
- 在 1panel 中,點擊 容器。
- 點擊 鏡像,然後選擇 拉取鏡像。
- 輸入鏡像名稱:
pgvector/pgvector:pg17(官方教程中使用的是 16 版本)。 - 點擊 拉取。
這樣,您就可以成功拉取並安裝帶有 PGVector 插件的 PostgreSQL 資料庫了。
創建 PostgreSQL 容器
在這一步,我們將創建一個名為 my-postgres 的 PostgreSQL 容器。
容器設置
- 名稱:
my-postgres - 鏡像名:
pgvector/pgvector:pg17 - 端口:
- 暴露端口:
5432 - 注意:如果該端口已被佔用,請修改為其他可用的伺服器端口。
- 暴露端口:
- 網絡:選擇默認的 1panel 網絡即可。
- IPv4 地址:留空
- 請注意,不留空無法創建容器。
掛載卷設置
- 宿主機目錄(本機目錄):
/opt/1panel/apps/postgresql/my-postgre/data - 容器目錄:
/var/lib/postgresql/data
PostgreSQL 環境變數設置
在創建 PostgreSQL 容器時,請設置以下環境變數:
這些環境變數將幫助您配置 PostgreSQL 容器的用戶名、密碼和數據存儲位置。確保在創建容器時正確設置這些變數,以便順利運行 PostgreSQL。
- 用戶名:請設置您的 PostgreSQL 用戶名。
- 密碼:請設置您的 PostgreSQL 密碼。
- 掛載目錄:確保掛載目錄正確配置。


檢測資料庫是否可用
- 通過 1panel 內置的資料庫功能,添加遠程伺服器。
- 點擊 有驗證,如果顯示可用,則表示資料庫已成功連接。
新建一個資料庫
在此步驟中,您需要新建一個資料庫,以便稍後使用。
連接 PostgreSQL 時的注意事項
- 防火牆設置:
- 請確保防火牆已關閉,或者手動開放 PostgreSQL 的端口(通常是 5432)。
- 這一點非常重要,否則您將無法通過內網的 IP 連接到資料庫。
確保遵循以上步驟,以便順利檢測和連接 PostgreSQL 資料庫。


支持 S3 協議的對象存儲服務 - MinIO
如果您已經擁有 S3 對象存儲,可以跳過當前這個步驟。
MinIO 的使用方式
使用 MinIO 非常簡單,主要步驟如下:
安裝 MinIO:
- 可以通過 1panel 一鍵安裝。
- 在應用商店中搜索 MinIO 進行安裝。
創建桶:
- 安裝完成後,您需要創建一個桶(bucket)來存儲您的對象。
更改權限:
- 根據需要設置桶的訪問權限。
設置秘鑰:
- 設置相應的訪問秘鑰和密鑰,以便進行身份驗證。
端口設置
- 端口:
- 如果端口被佔用,請修改端口設定。
外部訪問
- 確保已開放相應端口以便外部訪問。
這樣,您就可以順利使用 MinIO 來支持 S3 協議的對象存儲服務。
新建一個桶
創建桶的步驟
- 進入 Buckets 頁面。
- 點擊 Create Bucket。
- 輸入桶的名稱 Name,然後點擊 Create Bucket。
- 將桶的訪問權限更改為 公共:
- 如果不設為公共,則無法訪問桶中的內容。
設置訪問策略
- 在 Buckets 頁面中,選擇您剛創建的桶(例如:
lobechat)。 - 點擊 Access Policy。
- 選擇 Public。
創建秘鑰
新建一個秘鑰,系統將會生成以下秘鑰:
- Access Key:
E4c8Q1iXg625sMBUJ0B5 - Secret Key:
hX7T0kGl0Pdg9v2B93DgvOk9MayNHhP9mopGUPuJ
- Access Key:

訪問域名
- 訪問域名格式為:
ip + 端口 - 例如:
http://10.255.255.242:9009
這樣您就能順利創建一個公共桶並設置訪問秘鑰。
受 LobeChat 支持的 SSO 登錄鑑權服務 - Casdoor
安裝步驟
一鍵安裝 Casdoor:
- 通過 1panel 的應用商店搜索 Casdoor 進行安裝。
端口設置:
- 如果端口被佔用,請修改端口設定。
- 我這裡使用的端口為 8000。
外部訪問:
- 確保已開放相應端口以便外部訪問。
注意事項
- 由於我上方安裝的是 PostgreSQL 資料庫,這與 1panel 的一鍵安裝可能不兼容,因此需要特別注意。
這樣您就能順利安裝 Casdoor 作為 SSO 登錄鑑權服務。
創建 Casdoor 容器
1. 數據庫設置
- 手動新建一個 PostgreSQL 數據庫,以下是設置參數:
- 用戶名:
mycasdoor - 名稱:
mycasdoor - 密碼:
mEjT7KnFfAW44knZ
- 用戶名:
2. 容器設置
- 名稱:
my-casdoor - 鏡像名:
casbin/casdoor:版本 - 端口:
- 默認暴露端口:
8000 - 如果端口被佔用,請修改為
8001。
- 默認暴露端口:
- 網絡:選擇默認的 1panel 即可。
- IPv4:
172.18.0.253(請根據您的實際地址進行調整,為了防止衝突,我使用最後幾個地址)。 - 掛載:
- 本機目錄:
/opt/1panel/apps/casdoor/mycasdoor/conf - 容器目錄:
/conf(請注意是本機目錄,手動創建的不要重複)。
- 本機目錄:
3. 環境變量設置
- 設置以下環境變量:
| |