论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
Mysql
›
LobeChat Database 完全当地部署
LobeChat Database 完全当地部署
守听
论坛元老
|
2024-10-18 01:03:59
|
显示全部楼层
|
阅读模式
楼主
主题
2128
|
帖子
2128
|
积分
6384
为什么部署 LobeChat Database 版本
LobeChat 作为一款界面美观、交互简洁的大模子前端,非常得当作为 Ollama 运行当地大模子的前端交互界面使用。
非 database 版本的 LobeChat 将设置、对话数据存储到浏览器缓存 (IndexedDB) 中,假如清理了浏览器缓存,大概跨设备使用,则需要重新设置 LobeChat,须要时还要同步对话数据,
降低了使用的便利性
。
笔者在 2024 年 8 月份 部署当地化的 LobeChat Database 服务[1],但是鉴权服务还不支持当地部署。
由于大陆的网络原因
,使用的 auth0 鉴权服务经常失败。今天 (2024.9.22) 发现官方堆栈支持完全当地部署的 LobeChat Database 版本了,于是开始重新部署,期间也踩了很多坑。这里记录下来仅供参考。
完全当地化部署的 LobeChat Database 已经达到个人生产可用的级别,
可以在个人条记本、家庭服务器等单机情况中部署一套使用
。
概览
根据文档 使用 Docker Compose 部署 LobeChat 服务端数据库版本[2],想要完整的运行 LobeChat 数据库版本,你需要至少拥有如下 4 个服务:
LobeChat 数据库版本自身
带有 PGVector 插件的 PostgreSQL 数据库
支持 S3 协议的对象存储服务
受 LobeChat 支持的 SSO 登录鉴权服务
这些服务可以通过自建大概在线云服务组合搭配,以满意不同条理的部署需求。本文中的当地情况,全部使用容器部署这些服务。它们的镜像版本如下:
服务镜像版本LobeChat 数据库版本lobehub/lobe-chat-database:v1.19.21带有 PGVector 插件的 PostgreSQL 数据库pgvector/pgvector:pg16支持 S3 协议的对象存储服务minio/minio:RELEASE.2024-09-13T20-26-02ZLobeChat 支持的 SSO 登录鉴权服务svhd/logto:1.20 部署时会先跑起来所有服务,在 logto 和 minio 服务中天生鉴权等配置信息,更新到 LobeChat 容器的情况变量中,再重启 LobeChat 才最终部署完成。
启动全部服务
clone 代码堆栈
git clone https://github.com/dockerq/lobechat-database-deploy.git
复制代码
进入代码堆栈的 local 目录
cd lobechat-database-deploy/local
复制代码
拷贝.env配置文件
cp .env.example .env
复制代码
启动全部服务
docker compose up -d
[+] Running 6/6
✔ Network local_lobe-network Created 0.0s
✔ Container lobe-postgres Healthy 6.8s
✔ Container lobe-network Started 0.7s
✔ Container lobe-minio Started 0.2s
✔ Container lobe-logto Started 5.7s
✔ Container lobe-database Started 6.3s
复制代码
配置 Logto
打开浏览器,访问http://localhost:3002进入 Logto web ui 页面。
点击注册,输入用户名和密码后,发现报错
Internal server error
。
参考 Logto 开源代码堆栈的 Issue bug: Error on create a password[3],在 Postgres 中执行:
update sign_in_experiences set password_policy='{"rejects": {"pwned": false}}' where tenant_id='admin';
复制代码
后可正常注册。
附:笔者没有按照上面的操作,而是多次点击注册按钮,竟然也乐成了。
创建 Next.js (App Router)
创建一个 Next.js (App Router) 应用,添加以下配置:
重定向 URI(Redirect URI) 为 http://localhost:3210/api/auth/callback/logto
登出回调 URI (Post sign-out redirect URI) 为 http://localhost:3210/
点击“下一步”,可以看到App ID 和 App secrets,复制填入 .env 文件中对应的 AUTH_LOGTO_ID 和 AUTH_LOGTO_SECRET。
配置 MinIO S3
浏览器输入 http://localhost:9001,进入 MinIO WebUI,默认管理员账号密码在 .env 中:
# MinIO S3 配置
# minio root 用户名,要求超过 3 个字符
MINIO_ROOT_USER=admin
# minio root 用户密码,要求超过 8 个字符
MINIO_ROOT_PASSWORD=minio_admin_pass
复制代码
创建符合你的 .env 文件中 MINIO_LOBE_BUCKET 字段的桶,默以为 lobe。并更新 lobe 桶的访问战略为定制:
对应的 JSON 内容复制自 Lobe 文档[4]。
末了,创建一个新的访问密钥,将天生的 Access Key 和 Secret Key 填入你的 .env 文件中的 S3_ACCESS_KEY_ID 和 S3_SECRET_ACCESS_KEY 中。
重启 LobeChat 服务
颠末上面 2 步,LobeChat 的鉴权、S3 配置项都填充了对应的值。这时重新启动 LobeChat 容器即可:
停掉 lobe 服务
docker compose down lobe
[+] Running 2/1
✔ Container lobe-database Removed 10.1s
! Network local_lobe-network Resource is still in use 0.0s
复制代码
重新启动 lobe 服务
docker compose up -d lobe
[+] Running 5/5
✔ Container lobe-postgres Healthy 1.1s
✔ Container lobe-network Running 0.0s
✔ Container lobe-logto Running 0.0s
✔ Container lobe-minio Running 0.0s
✔ Container lobe-database Started 1.2s
复制代码
大功告成
访问 http://localhost:3210 即可进入 LobeChat 的 web 界面。
点击页面左上角的头像,可以看到
登录/注册
按钮:
点击后跳转到 Logto 的鉴权页面。
这时我们是第一次登录
,根据 Logto 提示创建用户后登录,就能正确进入 LobeChat Database 版本的前端,舒畅使用 LobeChat 了~
出现的相关问题
Logto https 访问
Logto 服务的 Admin Console,使用了 Web Crypto API[5],只能通过 https 协议大概 http://localhost:3002来访问。参考 Logto doc | Quick Troubleshooting[6]
Logto 注册失败
本文使用的 Logto 镜像是svhd/logto:1.20 1.20 版本,还存在一些 bug。比如默认注册用户报错
Internal server error
参考 Logto 官方 Issue bug: Error on create a password[7] 解决。
LobeChat 端口
LobeChat 容器中袒露的 3210 端口不要容易改动,会导致 LobeChat 内部代码 tRPC 因为容器映射的端口改变导致建连失败。
LobeChat 使用自定义嵌入模子
当前不支持使用 ollama 推理的嵌入模子,只能用系统默认的 OpenAI 的嵌入模子。
[Request] 内嵌功能适配 Azure OpenAI[8]
LobeChat 使用新的当地 ZITADEL 鉴权
详情见 [Request] 提供一个 ZITADEL 身份验证服务当地部署参考[9]
参考资料
[1]
部署当地化的 LobeChat Database 服务:
https://alwq.xyz/post/2024-08-07-lobechat-database-deploy/
[2] 使用 Docker Compose 部署 LobeChat 服务端数据库版本:
https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose
[3] bug: Error on create a password:
https://github.com/logto-io/logto/issues/6577#issuecomment-2359921567
[4] Lobe 文档:
https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#%E9%85%8D%E7%BD%AE-min-io-s-3
[5] Web Crypto API:
https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API
[6] Logto doc | Quick Troubleshooting:
https://docs.logto.io/docs/get-started/#quick-troubleshooting
[7] bug: Error on create a password:
https://github.com/logto-io/logto/issues/6577#issuecomment-2359921567
[8] [Request] 内嵌功能适配 Azure OpenAI:
https://github.com/lobehub/lobe-chat/issues/4017
[9] [Request] 提供一个 ZITADEL 身份验证服务当地部署参考:
https://github.com/lobehub/lobe-chat/issues/4060
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
守听
论坛元老
这个人很懒什么都没写!
楼主热帖
【网络编程】从零开始搭建一个开源博客 ...
Python学习:import的正确用法
Vulnhub靶机-Al-Web-1
【CSDN云VS腾讯云】要不然怎么说CSDN开 ...
TCP协议
jdbc如何连接sqlserver数据库呢? ...
面试官:BIO、NIO、AIO是什么,他们有 ...
报错building for iOS Simulator, but ...
如何成为一名开发人员——第 3 部分: ...
SpringBoot整合SpringSecurityOauth2实 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
人工智能
快速回复
返回顶部
返回列表