树洞剪藏#剪藏#树洞剪藏

LobeChat + Vercel + Auth0 + 阿里云OSS 部署教程 - 一只 creeper 的 Blog

2025 年 10 月 10 日1 分钟
分享Twitter / XTelegram微博
LobeChat + Vercel + Auth0 + 阿里云OSS 部署教程 - 一只 creeper 的 Blog 封面

同步来源:树洞剪藏 源站剪藏 ID:603 原文地址:https://blog.onecreeper.cn/index.php/2025/10/01/lobechat-vercel-auth0-%e9%98%bf%e9%87%8c%e4%ba%91oss-%e9%83%a8%e7%bd%b2%e6%95%99%e7%a8%8b/

打开原文 · 打开源站剪藏快照


set 限制解除

关于我

友情链接

LobeChat + Vercel + Auth0 + 阿里云OSS 部署教程

搜索

登录

LobeChat + Vercel + Auth0 + 阿里云OSS 部署教程 onecreeper 发布于 8 天前 67 次阅读

AI 摘要 想拥有专属AI聊天机器人?只需6步!用Vercel一键部署LobeChat,搭配Postgres数据库、Auth0认证和阿里云OSS,打造私人AI助手。最棒的是,对象存储一年只要9块钱!跟着教程走,零基础也能搞定~

第 1 步:一键部署 LobeChat

首先,我们需要将 LobeChat 的官方项目代码复制一份到自己的 GitHub 账号下,然后再通过 Vercel 进行部署。

Fork 项目 : 访问 LobeChat 的 GitHub 仓库 ,点击页面右上角的 Fork 按钮,将项目复刻到你自己的 GitHub 账户中。

在 Vercel 中创建项目 : 前往 Vercel 控制台,点击 Create a New Project。

导入 GitHub 仓库 : 选择 Import Git Repository,并选择你刚刚 Fork 的 lobe-chat 仓库进行导入。Vercel 会自动识别项目类型并为你配置好大部分部署选项。

直接部署 : 此时先不要急着修改环境变量,直接点击 Deploy 按钮。Vercel 会开始构建和部署你的应用。这个过程可能需要一些时间(大约 10-20 分钟),请耐心等待。

部署完成后,你将拥有一个可以访问的 LobeChat 站点,你可以在 Vercel 看到它的域名,这个后面要用。但这只是一个基础版本,接下来我们将为它添加数据库和用户系统。

第 2 步:配置数据库 (Postgres)

为了让 LobeChat 能够保存用户的对话历史和设置,我们需要一个数据库。Vercel 自带的 Storage 功能可以让我们一键创建一个免费的 Postgres 数据库。

创建数据库 : 回到 Vercel 主页,切换到 Storage 标签页,点击 Create a new Database 并选择 Neon。

连接项目 : 选择你的 lobe-chat 项目,并为数据库连接起一个前缀,随便设置就行,然后点击 Connect。

配置环境变量 : 连接成功后,Vercel 会自动在你的项目中添加 POSTGRES_* 相关的环境变量。但 LobeChat 使用的是通用的 DATABASE_URL 变量,所以我们需要手动配置一下。

进入你的项目设置 Settings -> Environment Variables。

复制 Vercel 自动生成的 POSTGRES_URL_NONPOOLING 的值。

添加以下4个新的环境变量:

Key Value Description DATABASE_URL 粘贴你复制的 POSTGRES_URL_NONPOOLING 值 用于连接数据库的服务端链接 NEXT_PUBLIC_SERVICE_MODE server 开启服务端模式,以便使用数据库功能 KEY_VAULTS_SECRET 运行 openssl rand -base64 32 生成 一个 32 位的随机密钥,用于加密敏感数据 APP_URL https://你的应用地址 应用访问地址

提示 :KEY_VAULTS_SECRET 是一个用于加密用户 API Key 等敏感信息的密钥。你可以在本地终端(如 PowerShell, Terminal)中运行 openssl rand -base64 32 命令来生成一个足够安全的随机字符串。

第 3 步:配置用户认证 (Auth0)

为了实现多用户登录和隔离,我们需要接入一个身份验证服务。这里我们选用 Auth0。

官方文档已经提供了非常详细的步骤,请直接参考官方文档中关于配置 Auth0 身份验证服务的说明。

关键提示 :

按照官方文档一步步操作即可,流程非常清晰。 在 LobeChat 中配置 Auth0 身份验证服务 - 详细步骤和环… · LobeHub

在 Auth0 设置中,请不要开启注册功能。作为私人应用,我们通常是手动在 Auth0 后台为受信任的用户创建账号,以确保服务的私密性和安全性。

完成 Auth0 配置后,别忘了将相关的环境变量(如 AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET, AUTH_SECRET 等)添加到你的 Vercel 项目中。

同时,添加一个关键的环境变量来启用 NextAuth:

Key Value Description NEXT_PUBLIC_ENABLE_NEXT_AUTH 1 在 Vercel 部署中显式开启 NextAuth 认证

此外,还需要配置以下认证相关的环境变量:

Key Value Description NEXT_AUTH_SECRET 运行 openssl rand -base64 32 生成 NextAuth 的加密密钥 NEXT_AUTH_SSO_PROVIDERS auth0 指定单点登录提供商 AUTH_AUTH0_ID 你的Auth0客户端ID Auth0 应用的客户端标识符 AUTH_AUTH0_SECRET 你的Auth0客户端密钥 Auth0 应用的客户端密钥 AUTH_AUTH0_ISSUER 你的Auth0发行者URL Auth0 颁发者地址 NEXTAUTH_URL 你的应用地址/api/auth NextAuth 的回调URL

第 4 步:配置对象存储 (阿里云 OSS)

如果希望在对话中使用文件上传功能(例如发送图片),你需要配置一个对象存储服务。这里我们以阿里云 OSS 为例,它价格实惠,标准用量下一年仅需⑨块钱。

4.1 创建 OSS Bucket

登录 OSS管理控制台

点击"创建 Bucket"按钮

填写 Bucket 名称(需全局唯一,请认真取名)

选择地域(建议选择距离你较近的区域以获得更快的访问速度)

其他选项暂时保持默认,点击"确定"创建

4.2 配置 Bucket 权限

进入创建好的 Bucket,找到"权限管理" -> "读写权限"

将权限修改为"公共读"(这是为了让应用可以公开访问上传的文件)

确认修改

4.3 配置跨域规则

在 Bucket 设置中,找到"数据安全" -> "跨域设置"

点击"设置"按钮,然后点击"创建规则"

按以下配置填写:

来源(Origin):填写你 Vercel 应用的域名(如 https://your-app.vercel.app

允许 Methods(CORS):GET, POST, PUT, DELETE, HEAD

允许 Headers:*

点击"确定"保存规则

4.4 创建 RAM 子用户

为了安全起见,我们不直接使用主账号的 AccessKey。而是创建一个只拥有 OSS 操作权限的子用户。

前往 访问控制 RAM 控制台

点击"创建用户"按钮

填写用户名(可自定义)

点击"确定"创建用户

创建完成后,务必保存好生成的 AccessKey ID 和 AccessKey Secret,这个凭证只会显示一次

返回用户列表,找到刚创建的用户,点击"添加权限"

在"系统策略"中搜索并选择 AliyunOSSFullAccess

点击"确定"完成授权

4.5 获取 OSS 连接信息

进入 OSS管理控制台

找到你创建的 Bucket,点击进入

在"概览"页面,记录以下两个信息:

Endpoint(地域节点)中的外网访问地址(如 https://oss-cn-beijing.aliyuncs.com

Bucket 域名(如 https://your-bucket-name.oss-cn-beijing.aliyuncs.com

4.6 在 Vercel 中添加 OSS 环境变量

回到 Vercel 项目的环境变量设置页面,添加以下变量:

Key Value Example & Description S3_ACCESS_KEY_ID 你的 RAM 用户 AccessKey ID LTAI5t… S3_SECRET_ACCESS_KEY 你的 RAM 用户 AccessKey Secret your-secret-key… S3_ENDPOINT 你的 Bucket 外网访问节点 https://oss-cn-beijing.aliyuncs.com S3_BUCKET 你的 Bucket 名称 your-unique-bucket-name S3_PUBLIC_DOMAIN 你的 Bucket 访问域名 https://your-unique-bucket-name.oss-cn-beijing.aliyuncs.com

示例配置:

S3_ACCESS_KEY_ID =LT123123123123

S3_SECRET_ACCESS_KEY =y524523452345234cG976h822346346gB

S3_ENDPOINT =https://oss-cn-beijing.aliyuncs.com

S3_BUCKET =liujianmeisima

S3_PUBLIC_DOMAIN =https://zhaojiesima.oss-cn-beijing.aliyuncs.com

安全警告 :你的 AccessKey 和对象存储 Bucket 信息是高度敏感的资产。切勿泄露给任何人!有恶意用户会扫描网络来刷取他人的 OSS 流量,可能导致高额账单。强烈建议你的私人 LobeChat 应用不要公开给不受信任的人使用。

第 5 步:配置自定义域名

如果你希望使用自己的域名访问 LobeChat,需要进行以下配置:

5.1 在 Vercel 中配置自定义域名

在 Vercel 项目控制台,进入 Settings -> Domains

点击 Add,输入你的自定义域名(如 chat.yourdomain.com)

根据提示配置 DNS 记录

等待 SSL 证书自动颁发(通常需要几分钟)

5.2 更新 Auth0 配置

登录 Auth0 控制台,进入你的应用设置

找到 "Allowed Callback URLs" 字段,添加你的自定义域名回调地址:

https: // 你的自定义域名 /api/ auth /callback/ auth0

保存更改

5.3 更新阿里云 OSS 跨域配置

登录阿里云 OSS 控制台,进入你的 Bucket

找到 "数据安全 -> 跨域设置"

修改或添加跨域规则,将"来源"更新为你的自定义域名:

https: //你的自定义域名

保存配置

5.4 更新环境变量

在 Vercel 项目设置中,更新以下环境变量:

Key 原值 新值 说明 APP_URL Vercel 默认域名 https://你的自定义域名 应用访问地址 NEXTAUTH_URL Vercel 默认域名/api/auth https://你的自定义域名/api/auth NextAuth 的回调URL

第 6 步:大功告成

当你完成以上所有环境变量的配置后,Vercel 会自动进行最后一次重新部署。等待部署成功后,访问你的自定义域名,你将看到 Auth0 的登录页面。登录后,即可开始享受你功能齐全、完全私有的 LobeChat 实例了!

环境变量汇总

数据库环境变量

Key Value Description DATABASE_URL 粘贴你复制的 POSTGRES_URL_NONPOOLING 值 用于连接数据库的服务端链接 NEXT_PUBLIC_SERVICE_MODE server 开启服务端模式,以便使用数据库功能 KEY_VAULTS_SECRET 运行 openssl rand -base64 32 生成 一个 32 位的随机密钥,用于加密敏感数据 APP_URL https://你的自定义域名 应用访问地址

DATABASE_URL =粘贴你复制的POSTGRES_URL_NONPOOLING值

NEXT_PUBLIC_SERVICE_MODE =server

KEY_VAULTS_SECRET =运行openssl rand -base64 32 生成

APP_URL =https://你的自定义域名

认证环境变量

Key Value Description NEXT_PUBLIC_ENABLE_NEXT_AUTH 1 在 Vercel 部署中显式开启 NextAuth 认证 NEXT_AUTH_SECRET 生成的随机密钥 NextAuth 的加密密钥 NEXT_AUTH_SSO_PROVIDERS auth0 指定单点登录提供商 AUTH_AUTH0_ID 你的Auth0客户端ID Auth0 应用的客户端标识符 AUTH_AUTH0_SECRET 你的Auth0客户端密钥 Auth0 应用的客户端密钥 AUTH_AUTH0_ISSUER 你的Auth0发行者URL Auth0 颁发者地址 NEXTAUTH_URL https://你的自定义域名/api/auth NextAuth 的回调URL

NEXT_PUBLIC_ENABLE_NEXT_AUTH = 1

NEXT_AUTH_SECRET =生成的随机密钥

NEXT_AUTH_SSO_PROVIDERS =auth0

AUTH_AUTH0_ID =你的Auth0客户端ID

AUTH_AUTH0_SECRET =你的Auth0客户端密钥

AUTH_AUTH0_ISSUER =你的Auth0发行者URL

NEXTAUTH_URL =https://你的自定义域名/api/auth

对象存储环境变量

Key Value Example & Description S3_ACCESS_KEY_ID 你的 RAM 用户 AccessKey ID LTAI5t… S3_SECRET_ACCESS_KEY 你的 RAM 用户 AccessKey Secret your-secret-key… S3_ENDPOINT 你的 Bucket 外网访问节点 https://oss-cn-beijing.aliyuncs.com S3_BUCKET 你的 Bucket 名称 your-unique-bucket-name S3_PUBLIC_DOMAIN 你的 Bucket 访问域名 https://your-unique-bucket-name.oss-cn-beijing.aliyuncs.com

S3_ACCESS_KEY_ID =你的RAM用户AccessKey ID

S3_SECRET_ACCESS_KEY =你的RAM用户AccessKey Secret

S3_ENDPOINT =你的Bucket外网访问节点

S3_BUCKET =你的Bucket名称

S3_PUBLIC_DOMAIN =你的Bucket访问域名

后记

折腾半天都不能用,发现是NEXT_PUBLIC_ENABLE_NEXT_AUTH没有设置,另外lobechat的环境变量前几天才更新,建议同时参考官方网站进行部署。

云函数有执行时间的限制,建议打开客户端请求模式。

auth0关闭注册: 如何禁用/启用特定应用程序的注册功能? - Stack Overflow --- How to disable/enable Sign Ups for a specific application with Auth0? - Stack Overflow

自动更新不建议开,不然突然炸了会很难受的。

参考资料:

在 Vercel 上部署 LobeChat 的服务端数据库版本 · Lo… · LobeHub

Vercel部署LobeChat数据库版简略流程 | 生物信息文件夹

LobeChat私有化部署教程(带服务端数据库) - 知乎

没啥好说的,本博客的创造者

最后更新于 2025-10-02

第 1 步:一键部署 LobeChat 第 2 步:配置数据库 (Postgres) 第 3 步:配置用户认证 (Auth0) 第 4 步:配置对象存储 (阿里云 OSS) 4.1 创建 OSS Bucket 4.2 配置 Bucket 权限 4.3 配置跨域规则 4.4 创建 RAM 子用户 4.5 获取 OSS 连接信息 4.6 在 Vercel 中添加 OSS 环境变量 第 5 步:配置自定义域名 5.1 在 Vercel 中配置自定义域名 5.2 更新 Auth0 配置 5.3 更新阿里云 OSS 跨域配置 5.4 更新环境变量 第 6 步:大功告成 环境变量汇总 数据库环境变量 认证环境变量 对象存储环境变量 后记 参考资料:

上一篇文章

mac os 开机自动挂载nas脚本分享

Comments NOTHING

暂无评论

取消回复

To trace the bright moonlight

嘿嘿嘿 ヾ(≧∇≦*)ゝ

bilibili~ Tieba (=・ω・=)

输入QQ号将自动拉取昵称和头像

你将收到回复通知

禁止小广告😀

保留个人信息

Copyright © by onecreeper All Rights Reserved.

Theme Sakurairo by Fuukei

想要找点什么呢?

相关文章