利用 1panel图形化摆设LobeChat服务端数据库版
LobeChat它是什么?
LobeChat 是一个当代化计划的开源 ChatGPT/LLMs 聊天应用与开发框架,支持语音合成、多模态、可扩展的(function call)插件系统,一键免费拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用。
它的特性?
[*] 多模型服务商支持;
[*] 支持当地大语言模型 (LLM);
[*] 模型视觉辨认 (Model Visual);
[*] TTS & STT 语音会话;
[*] Text to Image 文生图;
[*] 插件系统 (Function Calling);
[*] 助手市场 (GPTs);
[*] 支持当地 / 远程数据库;
[*] 支持多用户管理;
[*] 渐进式 Web 应用 (PWA);
[*] 移动装备适配;
[*] 自界说主题。
为什么要摆设服务端数据库版?
1panel 默认带有客户端的一键安装,安装方式非常简单,点击1panel的应用市肆-全部-AI/大模型-LobeChat -端口外部访问-安装(假如你利用的是openai则须要设置一下对应的数据)http://ip:40247/ 即可访问
默认安装的是客户端数据库模式 ,它与服务端数据库模式有什么区别?
先说以下两种数据库类型的区别,你就懂了。
特性
客户端数据库 (IndexedDB)
服务端数据库 (PostgreSQL)
存储位置
浏览器当地
服务器
访问权限
仅限当地
多用户共享
数据量
小
大
用途
个人单浏览器
多地方共享利用
特点
简单、易用
功能强盛、支持高并发
[*] 客户端数据库 (默认): 你的聊天记载、设置等都存储在你的浏览器里,换台电脑就没了,数据无法共享。
[*] 服务端数据库 (DB 版): 你的聊天记载、设置等都存储在服务器上,你可以用任何电脑登录 LobeChat 访问你的数据,数据可以跨装备共享。
安装须要什么条件?
[*] docker手动安装:LobeChat 数据库版本自身 lobehub/lobe-chat-database
[*] docker手动安装:带有 PGVector 插件的 PostgreSQL 数据库 pgvector/pgvector:pg17
[*] 1panel一键安装:支持 S3 协议的对象存储服务 自建s3存储:MinIO
[*] 1panel一键安装(也可以docker手动安装):受 LobeChat 支持的 SSO 登录鉴权服务 自建sso服务:casdoor
官方说明至少拥有如下四个服务,咱们一步步看
本文将讲解通过1panel如何图形化 搭建LobeChat服务端数据库版本,让我们开始吧~
通过1panel图形化手动安装LobeChat 服务端数据库版本
假如你会docker 请看官方教程,而不是此教程,此教程利用的是1panel图形化操作,对于不懂的人来说看的懂,但对于懂的人过于繁琐,docker只须要一句代码
官方教程:https://lobehub.com/zh/docs/self-hosting/server-database/docker
首先是安装带有pgvector插件的PostgreSQL数据库
我们根据官方教程,利用docker容器新建一个数据库。
肯定有小伙伴迷惑,为什么不利用1panel的一键构建呢? 1Panel 的一键构建是不预装 pgvector 插件,这里我们手动安装,图形化也非常简单
拉取pgvector镜像
[*] 点击容器-点击镜像-点击拉取镜像
[*] 输入镜像名(pgvector/pgvector:pg17)官方教程用的16哦
[*] 点击拉取
https://i-blog.csdnimg.cn/img_convert/35ad072a733ce24ffb510c4246faa180.png?source=d16d100b
https://i-blog.csdnimg.cn/img_convert/2bb0528c6b12a16bff34b7af791a3a67.png?source=d16d100b
请注意,拉取乐成的镜像,并不是你当前拉取时间来的,而是镜像本身的更新时间
创建PostgreSQL容器
[*] 名称:my-postgres
[*] 镜像名: pgvector/pgvector:pg17
[*] 端口: 暴露端口:5432须要注意假如占用,要修改服务器端口
[*] 网络:选择默认的1panel即可
[*] ipv4:172.18.0.250请注意你自己的所在,为了防止冲突,我利用末了面的几个所在
[*] 挂在卷:/opt/1panel/apps/postgresql/my-postgre/data 容器目录:/var/lib/postgresql/data
[*] 环境变量:用户名,暗码,挂载目录
POSTGRES_USER=sky
POSTGRES_PASSWORD=mysecretpassword
PGDATA=/var/lib/postgresql/data
https://i-blog.csdnimg.cn/img_convert/7f0fb30553d47569d38bd0b614b23dde.png?source=d16d100b
https://i-blog.csdnimg.cn/img_convert/9eee58df4c082207268df586683e9bd7.png?source=d16d100b
https://i-blog.csdnimg.cn/img_convert/9f63baf80195d42d08201c76712f0d5f.png?source=d16d100b
检测数据库是否可用
通过1panel内置的数据库功能,添加远程服务器,点击有验证,可用
https://i-blog.csdnimg.cn/img_convert/a3cdaa36debe3952008f3e2973ec568f.png?source=d16d100b
新建一个数据库待会创建时要用
https://i-blog.csdnimg.cn/img_convert/57a69b6eda104d765c4f10039165f6d6.png?source=d16d100b
连接PostgreSQL注意的地方
[*] 需关闭防火墙或者要手动开放端口(这个很紧张,不然通过内网的ip是连不上的哦)
支持 S3 协议的对象存储服务-minlO
假如你已经有了s3对象存储,可以跳过当前这个步骤
它的利用方式非常简单,我们只须要安装-创建桶,更改权限,和秘钥~
这里我们利用1panel一键安装
[*] 应用市肆-MinIO
[*] 假如端口占用请修改端口,我这里利用的是端口:9008 -API端口:9009
[*]
https://i-blog.csdnimg.cn/img_convert/5451fc064b8a9792d7fb45b114610291.png?source=d16d100b
minIO设置
这是LobeChat 所须要的设置,由于我这边是内网利用,并不利用外网,因此我只须要新建一个桶,和对应的秘钥即可
[*] ACCESS_KEY
[*] SECRET_ACCESS_KEY
[*] API域名
[*] 桶名称
[*] 访问域名
# S3 相关
S3_ACCESS_KEY_ID=xxxxxxxxxx
S3_SECRET_ACCESS_KEY=xxxxxxxxxx
# 用于 S3 API 访问的域名
S3_ENDPOINT=https://xxxxxxxxxx.r2.cloudflarestorage.com
S3_BUCKET=lobechat
# 用于外网访问 S3 的公共域名,需配置 CORS
S3_PUBLIC_DOMAIN=https://s3-for-lobechat.your-domain.com
# S3_REGION=ap-chengdu # 如果需要指定地域 新建一个桶
[*] Buckets-Create Bucket-输入Name-Create Bucket
https://i-blog.csdnimg.cn/img_convert/25dc4f8a8586c8616ce0049e09211a17.png?source=d16d100b
桶的访问权限改为公共
不设为公共则无法访问
[*] Buckets-lobechat-点击Access Policy-选择Public
https://i-blog.csdnimg.cn/img_convert/8521817213f5bd82510eb65f4a0c4f44.png?source=d16d100b
添加图片注释,不超过 140 字(可选)
新建一个秘钥
https://i-blog.csdnimg.cn/img_convert/28ebef484fedb603c2b1598be89f7452.png?source=d16d100b
将会得到一个秘钥
Access Key:E4c8Q1iXg625sMBUJ0B5
Secret Key:hX7T0kGl0Pdg9v2B93DgvOk9MayNHhP9mopGUPuJ
访问域名则为你的api域名端口:ip+端口
我这里是http://10.255.255.242:9009
检测minlo是否可用
通过halo步伐添加存储检测
https://i-blog.csdnimg.cn/img_convert/ed07add34f1ecf08f855a3aeeb0f9d71.png?source=d16d100b
连接minlo注意的地方
[*] 端口的开放和防火墙仍然是主要操作的地方
[*] 自用则不须要设置过多,假如你在公网利用,请设置好权限,位置,用户等相关操作
[*] 记住你的桶名,下面要用
[*] 记住你的ID和秘钥
受 LobeChat 支持的 SSO 登录鉴权服务-casdoor
1panel一键安装(一)
[*] 应用市肆-casdoor
[*] 假如端口占用请修改端口,我这里利用的是端口:8000
[*] 端口外部访问 -安装
须要注意的是,由于我的上方安装的是PostgreSQL数据库,它并不能搭配利用1panel一键安装,
假如你的装备资源有限,我建议手动安装casdoor,假如你当地装备刚刚的,可以利用mysql一键安装,比力省事,
https://i-blog.csdnimg.cn/img_convert/c05854e62da5c154cac0918f1b5b77ea.png?source=d16d100b
拉取casdoor镜像(二)
假如你利用的是一键安装,这一块不消看
[*] 点击容器-点击镜像-点击拉取镜像
[*] 输入镜像名(casbin/casdoor)
[*] 点击拉取
这是官方用的容器的版本,也是我如今利用的
https://i-blog.csdnimg.cn/img_convert/5944d991d83d6d15d98810bf25fe2419.png?source=d16d100b
创建casdoor容器
[*] 数据库:手动新建一个PostgreSQL数据库,待会环境变量有用 用户名:mycasdoor 名称:mycasdoor 暗码:mEjT7KnFfAW44knZ
[*] 名称:my-casdoor
[*] 镜像名: casbin/casdoor:版本
[*] 端口: 默认暴露端口:8000须要注意假如占用,要修改服务器端口 这里演示更改为8001
[*] 网络:选择默认的1panel即可
[*] ipv4:172.18.0.253请注意你自己的所在,为了防止冲突,我利用末了面的几个所在
[*] 挂载:本机目录:/opt/1panel/apps/casdoor/mycasdoor/conf 容器目录:/conf 须要注意是本机目录,手动创建的不要重复
[*] 环境变量:数据库类型,数据库名称,数据库用户名,暗码
RUNNING_IN_DOCKER=true#告诉他是容器
# 用户名,密码,地址,端口,ssl,名称
dataSourceName=user=mycasdoor password=mEjT7KnFfAW44knZ host=10.255.255.242 port=5432 sslmode=disable dbname=mycasdoor
#数据库名称
dbName=mycasdoor
#数据库类型
driverName=postgres 访问界面检测可用
[*] 默认登录用户名:admin 默认暗码:123
https://i-blog.csdnimg.cn/img_convert/fd0d988b7fd4f19bd48f3f27c3cdcb85.png?source=d16d100b
新建一个casdoor应用
官方教程:https://lobehub.com/zh/docs/self-hosting/advanced/auth/next-auth/casdoor
添加一个应用 身份认证-应用-添加
https://i-blog.csdnimg.cn/img_convert/531b50e91a908274717654840b8bf2b7.png?source=d16d100b
[*] 名称:LobeChat
[*] 体现名称:LobeChat
[*] 客户端ID:86094cf0438b7df7d2db(自定生成的不须要填写,下面要用)
[*] 客户端秘钥:0eb22f536455ddfdde06639652a8763ac3862db7(自定生成的不须要填写,下面要用)
[*] 重定向 URLs:http://10.255.255.242:3210/api/auth/callback/casdoor(LobeChat服务所在,假如你改了端口请注意修改)
保存即可,其他什么都可以不消设置
搭建好后casdoor注意的地方
[*] 端口的开放和防火墙,不开放无法正常访问
开始安装LobeChat 数据库版
拉取lobechat镜像
和上面一样的步骤
[*] 点击容器-点击镜像-点击拉取镜像
[*] 输入镜像名( lobehub/lobe-chat-database)不加版本默认最新版
[*] 点击拉取
创建lobe-chat-database容器
官方教程:https://lobehub.com/zh/docs/self-hosting/server-database/docker
[*] 名称:my-lobe-chat-database
[*] 镜像名: lobehub/lobe-chat-database:latest
[*] 端口: 默认暴露端口:3210须要注意假如占用,要修改服务器端口
[*] 网络:选择默认的1panel即可
[*] ipv4:172.18.0.251请注意你自己的所在,为了防止冲突,我利用末了面的几个所在
[*] 环境变量必填项:
#你LobeChat访问的地址,请注意你的端口号是否正确
APP_URL=http://10.255.255.242:3210
#DB必须的环境变量
# 用于加密敏感信息的密钥,可以使用 openssl rand -base64 32 生成
KEY_VAULTS_SECRET='dvy9O/6gMcy8k7Jnfbb1mI8he03efDQ6m0iknR8XppQ='
# Postgres 数据库连接字符串
# 格式:postgres://username:password@host:port/dbname,如果你的 pg 实例为 Docker 容器,请使用容器名,当然可以内网访问的也可以使用内网ip
DATABASE_URL=postgres://mylobehub:4jMwz6Gr43SafXMX@my-postgres:5432/mylobehub
#SSO必须的环境变量
#加密敏感信息的秘钥
NEXT_AUTH_SECRET=3904039cd41ea1bdf6c93db0db96e250
#你使用的sso的类型
NEXT_AUTH_SSO_PROVIDERS=casdoor
#不同类型的变量名称不同,请注意,下面是客户端ID和客户端秘钥
AUTH_CASDOOR_ID=86094cf0438b7df7d2db
AUTH_CASDOOR_SECRET=0eb22f536455ddfdde06639652a8763ac3862db7
#填写casdoor访问地址即可
AUTH_CASDOOR_ISSUER=http://10.255.255.242:8000
#填写的lobechat的地址,请注意你的端口,要和前面APP_URL一样哦
NEXTAUTH_URL=http://10.255.255.242:3210/api/auth
#debug,用来看日志反馈
NEXT_AUTH_DEBUG=1
#s3必须的环境变量
#id
S3_ACCESS_KEY_ID=E4c8Q1iXg625sMBUJ0B5
#秘钥
S3_SECRET_ACCESS_KEY=hX7T0kGl0Pdg9v2B93DgvOk9MayNHhP9mopGUPuJ
#minIO访问的API地址,端口更改了请注意
S3_ENDPOINT=http://10.255.255.242:9009
#s3桶名
S3_BUCKET=lobechat
#s3访问地址,我这里没有做操作依旧是api的地址
S3_PUBLIC_DOMAIN=http://10.255.255.242:9009
https://i-blog.csdnimg.cn/img_convert/049c19776fa580a5f59eb098e67cf467.png?source=d16d100b
https://i-blog.csdnimg.cn/img_convert/77c9107fb22e9e877cec0068b497bda1.png?source=d16d100b
查看日记是否安装乐成
https://i-blog.csdnimg.cn/img_convert/80e6e914e93fc7fb2cb9a5cb446c4cd9.png?source=d16d100b
访问服务是否安装乐成
登录的账号暗码为casdoor中的账号暗码,其他功能,请自己实验吧~
https://i-blog.csdnimg.cn/img_convert/1f78bcaccc1caffc29e7954c50f78cac.png?source=d16d100b
https://i-blog.csdnimg.cn/img_convert/c443502cf5c3e6526435c8c927969892.png?source=d16d100b
https://i-blog.csdnimg.cn/img_convert/4064ad63f5c8520d6e5ecc6f97f8d5b2.png?source=d16d100b
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]