微信扫码 , 快速开始
7
25
0
fnOS系统内测组
1panel部署LobeChat服务端数据库版(飞牛OS部署)
它是什么? LobeChat 是一个现代化设计的开源 ChatGPT/LLMs 聊天应用与开发框架,支持语音合成、多模态、可扩展的(function call)插件系统,一键免费拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用。
它的特性?
为什么要部署服务端数据库版? 1panel 默认带有客户端的一键安装,安装方式非常简单,点击1panel的应用商店-全部-AI/大模型-LobeChat -端口外部访问-安装(如果你使用的是openai则需要设置一下对应的数据)http://ip:40247/ 即可访问
默认安装的是客户端数据库模式 ,它与服务端数据库模式有什么区别?
先说以下两种数据库类型的区别,你就懂了。
客户端数据库 (默认): 你的聊天记录、设置等都存储在你的浏览器里,换台电脑就没了,数据无法共享。
服务端数据库 (DB 版): 你的聊天记录、设置等都存储在服务器上,你可以用任何电脑登录 LobeChat 访问你的数据,数据可以跨设备共享。
pgvector/pgvector:pg17
MinIO
casdoor
lobehub/lobe-chat-database
官方说明至少拥有如下四个服务,
如果你会docker 请看官方教程,而不是此教程,此教程使用的是1panel图形化操作,对于不懂的人来说看的懂,但对于懂的人过于繁琐,docker只需要一句代码
我们根据官方教程,使用docker容器新建一个数据库。
肯定有小伙伴疑惑,为什么不使用1panel的一键构建呢? 1Panel 的一键构建是不预装 pgvector 插件,这里我们手动安装,图形化也非常简单
容器
镜像
拉取镜像
拉取
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/23/67bb4304ef6e7.png" alt="拉取pgvector/pgvector:pg17" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/23/67bb43548e800.png" alt="pgvector/pgvector:pg17" style="zoom: 80%;" />
名称:PostgreSQL
镜像名: pgvector/pgvector:pg17
端口: 暴露端口:5432需要注意如果占用,要修改服务器端口
5432
网络:选择默认的1panel即可(1panel-network)
1panel-network
ipv4:可不填
挂在卷:/opt/1panel/apps/PostgreSQL/data 容器目录:/var/lib/postgresql/data
环境变量:用户名,密码,挂载目录
POSTGRES_USER=PostgreSQL POSTGRES_PASSWORD=PostgreSQL PGDATA=/var/lib/postgresql/data
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/23/67bb456277ac1.png" style="zoom: 80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/23/67bb4505da417.png" style="zoom:80%;" />
通过1panel内置的数据库功能,添加远程服务器,点击有验证,可用
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb4647207e1.png" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb4747aacc7.png" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb481f8cc7b.png" style="zoom:80%;" />
注:官方教程:<img src="https://lobehub.com/_next/static/media/logo.98482105.png" alt="img" style="zoom:10%;" />使用 Docker 部署 LobeChat 数据库 · LobeChat... · LobeHub
应用商店
端口:9001
API端口:9000
端口外部访问
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb498625412.png" style="zoom:80%;" />
LobeChat 需要新建一个桶,和对应的秘钥即可。
Buckets
Create Bucket
Name
lobechat
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb4f1b9f4da.png" style="zoom:80%;" />
不设为公共则无法访问
Access Policy
Public
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb4fa2ba20e.png" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb50081bf9d.png" style="zoom:80%;" />
将会得到一个秘钥
桶名称: lobechat
Access Key:::r1TXawOyhP0oaUJqmYCR
Secret Key:::ftywcS58H48PnKETet3ulqvyOxCJc2B15PiXGMhS
API域名: http://192.168.2.2:9000(ip+端口)
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb51177bcc7.png" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb517f97271.png" style="zoom:80%;" />
这里并没有使用1panel商店一件安装 ,是使用的Docker安装,
三个原因,1 是1panel商店一键安装需要mysql数据库支持,2是安装完后,casdoor服务和minIO服务不能互通,(不互通其实也不影响使用)(也可能是我的设置原因,暂且不使用商店一键安装)
3是换官方的all-in-one镜像不需要安装MySQL数据库
casdoor官方提供两个镜像,差异供大家参考
在Docker中拉取镜像
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb54d762341.png" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb551ddad0d.png" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb5717a6afa.png" style="zoom:80%;" />
添加一个应用 身份认证-应用-添加
身份认证
应用
添加
名称:lobechat
显示名称:lobechat
Logo:https://pic1.imgdb.cn/item/67bb5978d0e0a243d402dc4e.webp
客户端ID::3fd6d6c63c53cfc9bfec(自动生成的不需要填写,下面要用)
客户端秘钥:f2b4d13cc01f2b3f13b82efb2e6d028303e6f19f(自动生成的不需要填写,下面要用)
重定向 URLs:http://192.168.2.2:3210/api/auth/callback/casdoor
重定向可以填多个,这里还可以添加上反代后的地址,方便外网使用
https://域名/api/auth/callback/casdoor(不支持中文域名,使用前需要转码)
(重定这里是填LobeChat服务地址,lobechat服务还没有搭建,所以不着急确定是否端口正确)
保存即可,其他什么都可以不用设置
注:官方教程:<img src="https://lobehub.com/_next/static/media/logo.98482105.png" alt="img" style="zoom:10%;" />在 LobeChat 中配置 Casdoor 身份验证服务 · Lobe... · LobeHub
官方教程写的很繁杂,个人使用不建议参考。
lobehub/lobe-chat-database:latest
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb5baabc0f8.png" style="zoom:80%;" />
3210
#你LobeChat访问的地址,请注意,端口号修改的话,需要保持一致 APP_URL=http://192.168.2.2:3210 #postgresql必须的环境变量 # 用于加密敏感信息的密钥,可以使用 openssl rand -base64 32 生成(飞牛nas使用ssh登录后输入`openssl rand -base64 32`命令即可获取,保持默认也可) KEY_VAULTS_SECRET='*G7R4zFZk4mDaqvBIu3Yq4wD4tK/Ebzphx0HwDVrWX0Y=*' # postgresql 数据库连接字符串 # 格式:postgres://username:password@host:port/dbname,如果你的postgresql实例为 Docker 容器,请使用容器名,当然可以内网访问的也可以使用内网ip # DATABASE_URL=postgres://数据库用户名:数据库密码@192.168.2.2:4432/数据库名 # 这里的数据库名就是在搭建第一步的时候,最后设置的数据库 DATABASE_URL=postgres://postgresql:postgresql@192.168.2.2:4432/postgresql #Casdoor必须的环境变量 #加密敏感信息的秘钥,可以使用 openssl rand -base64 32 生成(飞牛nas使用ssh登录后输入`openssl rand -base64 32`命令即可获取,保持默认也可) NEXT_AUTH_SECRET=*G7R4zFZk4mDaqvBIu3Yq4wD4tK/Ebzphx0HwDVrWX0Y=* #你使用的sso的类型,不需要修改 NEXT_AUTH_SSO_PROVIDERS=casdoor #Casdoor中设置的应用中的客户端ID和客户端秘钥 AUTH_CASDOOR_ID=3fd6d6c63c53cfc9bfec AUTH_CASDOOR_SECRET=f2b4d13cc01f2b3f13b82efb2e6d028303e6f19f #填写casdoor访问地址即可 AUTH_CASDOOR_ISSUER=http://192.168.2.2:8002 #填写的lobechat的地址,请注意你的端口,要和前面APP_URL一样哦 NEXTAUTH_URL=http://192.168.2.2:3210/api/auth #debug,用来看日志反馈 NEXT_AUTH_DEBUG=1 #minIO,s3必须的环境变量 #id S3_ACCESS_KEY_ID=r1TXawOyhP0oaUJqmYCR #秘钥 S3_SECRET_ACCESS_KEY=ftywcS58H48PnKETet3ulqvyOxCJc2B15PiXGMhS #minIO访问的API地址,端口更改了请注意 S3_ENDPOINT=http://192.168.2.2:9000 #minIO,s3桶名 S3_BUCKET=lobechat #minIO,s3访问地址 S3_PUBLIC_DOMAIN=http://192.168.2.2:9001
登录的账号密码为casdoor中的账号密码,
casdoor默认账号密码:账号:admin 密码:123
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb71541b6a8.png" style="zoom:80%;" />
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb70d9e6881.png" alt="" style="zoom:80%;" />
自行配置服务商即api
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb7197db540.png" style="zoom:80%;" />
现在是已经完成了本地部署,在外网情况下还是访问不了的
接下来就是配置反代内容,
2 Casdoor应用修改配置
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb7fcee7a3b.png" alt="编辑lobechat应用配置" style="zoom:80%;" />
在重定向中再添加反代后的域名
把域名加端口修改成自己的:https://Casdoor.cn:10/api/auth/callback/casdoor
然后保存并退出。(不支持中文域名,如是中文域名请转码使用)
<img src="https://www.听闻.cn:5244/d/本地/阿里云盘资料备份共享/图片/图床/2025/02/24/67bb802847677.png" alt="https://Casdoor.cn:10/api/auth/callback/casdoor" style="zoom:80%;" />
3 修改lobechat容器中的环境变量,
把以上的反代后的lobechat服务、Minio S3 API 服务、Casdoor API 服务 添加到环境变量中
#你LobeChat访问的地址,请注意,端口号修改的话,需要保持一致 APP_URL=http://192.168.2.2:3210 APP_URL=https://lobechat.cn:10 #postgresql必须的环境变量 # 用于加密敏感信息的密钥,可以使用 openssl rand -base64 32 生成(飞牛nas使用ssh登录后输入`openssl rand -base64 32`命令即可获取,保持默认也可) KEY_VAULTS_SECRET='*G7R4zFZk4mDaqvBIu3Yq4wD4tK/Ebzphx0HwDVrWX0Y=*' # postgresql 数据库连接字符串 # 格式:postgres://username:password@host:port/dbname,如果你的postgresql实例为 Docker 容器,请使用容器名,当然可以内网访问的也可以使用内网ip # DATABASE_URL=postgres://数据库用户名:数据库密码@192.168.2.2:4432/数据库名 # 这里的数据库名就是在搭建第一步的时候,最后设置的数据库 DATABASE_URL=postgres://postgresql:postgresql@192.168.2.2:4432/postgresql #Casdoor必须的环境变量 #加密敏感信息的秘钥,可以使用 openssl rand -base64 32 生成(飞牛nas使用ssh登录后输入`openssl rand -base64 32`命令即可获取,保持默认也可) NEXT_AUTH_SECRET=*G7R4zFZk4mDaqvBIu3Yq4wD4tK/Ebzphx0HwDVrWX0Y=* #你使用的sso的类型,不需要修改 NEXT_AUTH_SSO_PROVIDERS=casdoor #Casdoor中设置的应用中的客户端ID和客户端秘钥 AUTH_CASDOOR_ID=3fd6d6c63c53cfc9bfec AUTH_CASDOOR_SECRET=f2b4d13cc01f2b3f13b82efb2e6d028303e6f19f #填写casdoor访问地址即可 AUTH_CASDOOR_ISSUER=http://192.168.2.2:8002 AUTH_CASDOOR_ISSUER=https://Casdoor.cn:10 #填写的lobechat的地址,请注意你的端口,要和前面APP_URL一样哦 NEXTAUTH_URL=http://192.168.2.2:3210/api/auth NEXTAUTH_URL=https://lobechat.cn:10/api/auth #debug,用来看日志反馈 NEXT_AUTH_DEBUG=1 #minIO,s3必须的环境变量 #id S3_ACCESS_KEY_ID=r1TXawOyhP0oaUJqmYCR #秘钥 S3_SECRET_ACCESS_KEY=ftywcS58H48PnKETet3ulqvyOxCJc2B15PiXGMhS #minIO访问的API地址,端口更改了请注意 S3_ENDPOINT=http://192.168.2.2:9000 S3_ENDPOINT=https://Minio.cn:10 #minIO,s3桶名 S3_BUCKET=lobechat #minIO,s3访问地址 S3_PUBLIC_DOMAIN=http://192.168.2.2:9001 #minIOweb访问地址非必须 S3_PUBLIC_DOMAIN=https://minioweb.cn:10
现在就是完全体了,可以内外网访问,登录注册都可以的。
文章参考学习:5ee博客
9
江湖小虾
举报
桑学升 发表于 2025-2-28 22:10 你看一下lobechat环境变量中是不是写成ip+端口了
3
1
2
您需要 登录 才可以下载或查看,没有账号?立即注册
青山石 发表于 2025-3-30 23:05 大佬,我的sql部署后也显示连接不可用,具体报错如图,我看用户名密码都是和环境参数一样吗 ...
本版积分规则 发表回复