前置

环境信息

  • 1panel: v2.0.12

  • lobe-chat-database:1.142.9

  • casdoor:v2.86.0

  • postgres:17.6-alpine

  • S3存储服务

说明

postgres 需要支持 pgvector ,可根据此文章进行配置或者使用 pgvector:pg17 。此处使用 postgres:17.6-alpine 是为了方便以后使用 1panel 迁移数据。

安装服务

在 1panel 应用商店中依次安装 postgresql 与 casdoor 。

postgres 配置

此处参考下面文章:

https://blog.houxiongxiong.icu/archives/P2qiBWxI

如果实在不行可以单独使用 pgvector:pg

casdoor 配置

参考下图

创建 lobechat

创建 lobechat.env

# lobechat 配置
APP_URL=http(s)://lobechat.domain(ip)/
KEY_VAULTS_SECRET= # 用于加密敏感信息的密钥
# postgres 连接配置
DATABASE_URL=postgresql://myuser:mypassword@localhost/mydatabase
# 身份认证配置
NEXT_AUTH_SECRET= # 加密 Auth.js 会话令牌的密钥
NEXT_AUTH_SSO_PROVIDERS=casdoor # 身份验证源
NEXTAUTH_URL=http(s)://lobechat.domain(ip)/api/auth
# casdoor 配置
AUTH_CASDOOR_ID= # 客户端 ID
AUTH_CASDOOR_SECRET= # 客户端密钥
AUTH_CASDOOR_ISSUER=http(s)://casdoor.domain(ip)/
# S3存储服务配置
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY= 
S3_ENDPOINT= # 存储桶的请求端点, 注意此处链接不应该包含存储桶的名称。
S3_BUCKET= # 存储桶名称
S3_PUBLIC_DOMAIN= # 存储桶对外的访问域名
S3_ENABLE_PATH_STYLE=0 # 是否启用 S3 的 path-style 访问模式。

docker run

在 lobechat.env 路径下执行:

docker run -it -d -p 3210:3210 --network 1panel-network --env-file lobechat.env --name lobe-chat-database lobehub/lobe-chat-database:1.142.9

附录

LobeChat文档