本文中,我们提供了完全基于开源自建服务的 Docker Compose 配置,你可以直接使用这份配置文件来启动 LobeChat 数据库版本,也可以对之进行修改以适应你的需求。
我们默认使用 MinIO 作为本地 S3 对象存储服务,使用 Casdoor 作为本地鉴权服务。
快速启动
为方便快速上手,这一章使用 docker-compose/local
目录中的 docker-compose.yml
配置文件,启动后的 LobeChat 应用运行在 http://localhost:3210
,可在本地运行。
为了快速上手,此 docker-compose.yml
内置了大量的 Secret/Password 的敏感字段配置,仅适用于快速演示或个人本地使用。请勿直接用于线上生产环境!否则遇到安全问题请自行负责!
一键启动脚本
新建一个 lobe-chat-db
目录,用于存放你的配置文件和后续的数据库文件。
mkdir lobe-chat-db
cd lobe-chat-db
我们提供了一个一键启动脚本 setup.sh
,可以自动使用默认配置并启动服务:
bash <(curl -fsSL https://raw.githubusercontent.com/lobehub/lobe-chat/HEAD/docker-compose/local/setup.sh) -f -l zh_CN
启动 Docker
docker compose up -d
默认登录账号即 Casdoor 的账号,账号名 lq
,密码 123456
检查日志
docker logs -f lobe-chat
如果你在容器中看到了以下日志,则说明已经启动成功:
log
[Database] Start to migration...
✅ database migration pass.
-------------------------------------
▲ Next.js 14.x.x
- Local: http://localhost:3210
- Network: http://0.0.0.0:3210
✓ Starting...
✓ Ready in 95ms
-
使用
setup.sh
脚本启动后,Casdoor WebUI 默认端口为8000
,你可以通过http://your_server_ip:8000
访问 -
在
身份认证 -> 应用
中添加一行http://your_server_ip:3210/api/auth/callback/casdoor
-
其他配置大多保持默认即可,你也可以在
身份认证 -> 应用
中修改默认配置 -
配置 MinIO S3
-
使用
setup.sh
脚本启动后,MinIO WebUI 默认端口为9001
,你可以通过http://your_server_ip:9001
访问,默认用户名YOUR_MINIO_USER
,密码YOUR_MINIO_PASSWORD
-
大多数配置保持默认即可,如果你希望能允许用户更换头像功能,你需要首先在
buckets
中创建一个名为casdoor
的桶,选择自定义策略,复制并粘贴如下内容(如果你修改了桶名,请自行查找替换)json
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": ["*"] }, "Action": ["s3:GetBucketLocation"], "Resource": ["arn:aws:s3:::casdoor"] }, { "Effect": "Allow", "Principal": { "AWS": ["*"] }, "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::casdoor"], "Condition": { "StringEquals": { "s3:prefix": ["files/*"] } } }, { "Effect": "Allow", "Principal": { "AWS": ["*"] }, "Action": ["s3:PutObject", "s3:DeleteObject", "s3:GetObject"], "Resource": ["arn:aws:s3:::casdoor/**"] } ], "Version": "2012-10-17" }
-
创建一个新的访问密钥,将生成的
Access Key
和Secret Key
存储之 -
在 Casdoor 的
身份认证 -> 提供商
中关联 MinIO S3 服务,以下是一个示例配置:其中,客户端 ID、客户端密钥为上一步创建的访问密钥中的
Access Key
和Secret Key
,192.168.31.251
应当被替换为your_server_ip
。 -
在 Casdoor 的
身份认证 -> 应用
中,对app-built-in
应用添加提供商,选择minio
,保存并退出 -
你可以在 Casdoor 的
身份认证 -> 资源
中,尝试上传文件以测试配置是否正确