- 总流程
- Docker部署
- 身份验证服务-NextAuth
- github
- S3存储服务
- 腾讯云COS
- 身份验证服务-NextAuth
- Docker部署
1. 安装Docker
brew install docker --cask
2. 创建pgvector容器(PostgresSQL)
docker run --name [myPgvector] -p 5432:5432 -e POSTGRES_PASSWORD=[pwd] -d -e POSTGRES_USER=[username] pgvector/pgvector:pg16
- 可以使用数据库界面工具测试,我用的IDEA测试,顺便新建了一个数据库,如果没有新建数据库,就是默认数据库名为
postgres
- 记录下数据库的链接,通常为(stackoverflow)
postgres://[username]:[password]@host.docker.internal:5432/[database-name]
3. NextAuth - github
- NextAuth选择多种多样,最开始我选择Auth0一直没整出来,换成github的马上就好了
- 听说Logto坑很多,慎用
- 记得跑起来后点左上角登陆
- NextAuth容易填错,需要注意Callback URL:
http://localhost:3210/api/auth/callback/github
4. S3-腾讯云COS
- 根据文档指示很快完成
5. 创建LobeChat容器
docker run -it -d --name lobe-chat-database -p 3210:3210 \
-e DATABASE_URL=postgres://[username]:[password]@host.docker.internal:5432/[database-name] \
-e KEY_VAULTS_SECRET=jgwsK28dspyVQoIf8/M3IIHl1h6LYYceSYNXeLpy6uk= \
-e NEXT_AUTH_SECRET=3904039cd41ea1bdf6c93db0db96e250 \
-e NEXT_AUTH_SSO_PROVIDERS=github \
-e GITHUB_CLIENT_ID=[] \
-e GITHUB_CLIENT_SECRET=[] \
-e APP_URL=http://localhost:3210 \
-e NEXTAUTH_URL=http://localhost:3210/api/auth \
-e S3_ACCESS_KEY_ID=[腾讯云key_id] \
-e S3_SECRET_ACCESS_KEY=[腾讯云key] \
-e S3_ENDPOINT=https://cos.ap-guangzhou.myqcloud.com \
-e S3_BUCKET=[] \
-e S3_PUBLIC_DOMAIN=https://[S3_BUCKET].cos.ap-guangzhou.myqcloud.com \
lobehub/lobe-chat-database
- 注意本地测试是http,其他填网址的地方全是https
- NEXTAUTH_URL,别填错啦
ps: 官方文档挺乱,且github上维护人员真的挺没礼貌。我看人家提的issue,他回答就差点把“无语”二字写出来了。谁不是从novice走过来的,不值得被尊重吗…