docs: 添加Vercel+Upstash多用户部署完整指导文档
- 新增详细的Vercel+Upstash部署步骤说明 - 更新部署方式对比表,突出Vercel+Upstash方案优势 - 添加多用户系统和跨设备同步功能说明 - 优化推荐方案,推荐Vercel+Upstash作为个人用户首选 - 更新环境变量说明,包含Upstash配置详情 - 添加费用说明和免费额度介绍
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
<p>
|
||||
<a href="#部署">🚀 部署</a> ·
|
||||
<a href="#功能特性">✨ 功能</a> ·
|
||||
<a href="#方案四vercel-部署免服务器支持多用户">☁️ Vercel+Upstash</a> ·
|
||||
<a href="#docker">🐳 Docker</a> ·
|
||||
<a href="#环境变量">⚙️ 配置</a>
|
||||
</p>
|
||||
@@ -40,7 +41,7 @@
|
||||
### 🚀 部署与扩展
|
||||
|
||||
- **🐳 Docker 一键部署**:提供完整的 Docker 镜像,开箱即用
|
||||
- **☁️ 多平台支持**:Vercel、Cloudflare Pages、传统服务器全兼容
|
||||
- **☁️ 多平台支持**:Vercel + Upstash、Docker + Redis、Cloudflare Pages + D1、传统服务器全兼容
|
||||
- **🔧 灵活配置**:支持自定义资源站、代理设置、主题配置
|
||||
- **📱 PWA 支持**:可安装为桌面/手机应用,离线缓存
|
||||
- **📺 TVBox 兼容**:支持 TVBox 配置接口,可导入到各种电视盒子应用
|
||||
@@ -62,7 +63,7 @@
|
||||
| 播放器 | [ArtPlayer](https://github.com/zhw2590582/ArtPlayer) · [HLS.js](https://github.com/video-dev/hls.js/) |
|
||||
| 状态管理 | React Hooks · Context API |
|
||||
| 代码质量 | ESLint · Prettier · Jest · Husky |
|
||||
| 部署 | Docker · Vercel · CloudFlare pages |
|
||||
| 部署 | Docker · Vercel · CloudFlare pages · Upstash |
|
||||
|
||||
## 📺 TVBox 兼容功能
|
||||
|
||||
@@ -95,19 +96,20 @@ KatelyaTV 新增了 TVBox 配置接口,可以将您的视频源导入到各种
|
||||
|
||||
> **💡 推荐方案**:
|
||||
>
|
||||
> - 🆕 **个人用户**:优先选择 **Docker 单容器**(最简单)
|
||||
> - 🏠 **家庭/团队**:选择 **Docker + Redis**(功能完整)
|
||||
> - 🆕 **个人用户**:优先选择 **Vercel + Upstash**(免费 + 多用户 + 同步)
|
||||
> - 🏠 **进阶用户**:选择 **Docker + Redis**(自托管 + 功能完整)
|
||||
> - 🏢 **生产环境**:强烈推荐 **Docker + Kvrocks**(极高可靠性,零数据丢失风险)
|
||||
|
||||
### 📋 部署方式对比
|
||||
|
||||
| 方式 | 难度 | 成本 | 多用户 | 数据可靠性 | 推荐场景 |
|
||||
| ----------------------- | ------ | -------- | ------ | ---------- | ------------------- |
|
||||
| 🐳 **Docker 单容器** | ⭐ | 需服务器 | ❌ | ⭐⭐ | 个人使用,最简单 |
|
||||
| 🐳 **Docker + Redis** | ⭐⭐ | 需服务器 | ✅ | ⭐⭐⭐ | 家庭/团队,功能完整 |
|
||||
| 🏪 **Docker + Kvrocks** | ⭐⭐ | 需服务器 | ✅ | ⭐⭐⭐⭐⭐ | 生产环境,高可靠性 |
|
||||
| ☁️ **Vercel** | ⭐ | 免费 | ❌ | ⭐ | 临时体验,无服务器 |
|
||||
| 🌐 **Cloudflare** | ⭐⭐⭐ | 免费 | ✅ | ⭐⭐⭐ | 技术爱好者 |
|
||||
| 方式 | 难度 | 成本 | 多用户 | 数据可靠性 | 推荐场景 |
|
||||
| ----------------------------- | ------ | -------- | ------ | ---------- | --------------------------- |
|
||||
| 🐳 **Docker 单容器** | ⭐ | 需服务器 | ❌ | ⭐⭐ | 个人使用,最简单 |
|
||||
| 🐳 **Docker + Redis** | ⭐⭐ | 需服务器 | ✅ | ⭐⭐⭐ | 家庭/团队,功能完整 |
|
||||
| 🏪 **Docker + Kvrocks** | ⭐⭐ | 需服务器 | ✅ | ⭐⭐⭐⭐⭐ | 生产环境,高可靠性 |
|
||||
| ☁️ **Vercel(单机版)** | ⭐ | 免费 | ❌ | ⭐ | 临时体验,无服务器 |
|
||||
| ☁️ **Vercel + Upstash** | ⭐⭐ | 免费 | ✅ | ⭐⭐⭐⭐ | **推荐**:无服务器 + 多用户 |
|
||||
| 🌐 **Cloudflare + D1** | ⭐⭐⭐ | 免费 | ✅ | ⭐⭐⭐ | 技术爱好者 |
|
||||
|
||||
---
|
||||
|
||||
@@ -529,9 +531,9 @@ docker compose -f docker-compose.kvrocks.yml up -d
|
||||
|
||||
---
|
||||
|
||||
## �🎯 方案四:Vercel 部署(免服务器)
|
||||
## 🎯 方案四:Vercel 部署(免服务器,支持多用户)
|
||||
|
||||
> **适合场景**:没有服务器,想要快速体验,个人使用
|
||||
> **适合场景**:没有服务器,想要快速体验,支持多用户和跨设备同步
|
||||
|
||||
### 🔧 前置要求
|
||||
|
||||
@@ -594,11 +596,74 @@ docker compose -f docker-compose.kvrocks.yml up -d
|
||||
4. 点击 **Commit changes**
|
||||
5. Vercel 会自动重新部署
|
||||
|
||||
### ⚠️ 注意事项
|
||||
### 🚀 Vercel + Upstash 多用户部署(推荐升级方案)
|
||||
|
||||
- Vercel 版本不支持用户注册和账号系统
|
||||
如果你需要**多用户支持**和**跨设备数据同步**功能,可以配置 Upstash Redis 数据库:
|
||||
|
||||
#### 🔧 配置步骤
|
||||
|
||||
**第一步:创建 Upstash Redis 数据库**
|
||||
|
||||
1. 访问 [Upstash Console](https://console.upstash.com/)
|
||||
2. 使用 GitHub 账号登录(或注册新账号)
|
||||
3. 点击 **Create Database**
|
||||
4. 配置数据库:
|
||||
- **Name**: 输入数据库名称(如 `katelyatv-db`)
|
||||
- **Region**: 选择离你最近的区域
|
||||
- **Type**: 选择 **Regional**(免费版)
|
||||
5. 点击 **Create** 创建数据库
|
||||
|
||||
**第二步:获取连接信息**
|
||||
|
||||
1. 在数据库详情页面,找到 **REST API** 部分
|
||||
2. 复制以下信息:
|
||||
- **UPSTASH_REDIS_REST_URL**: `https://xxx-xxx-xxx.upstash.io`
|
||||
- **UPSTASH_REDIS_REST_TOKEN**: `AXXXXxxxxxxxxxxxxxx`
|
||||
|
||||
**第三步:配置 Vercel 环境变量**
|
||||
|
||||
1. 在 Vercel 项目仪表板中,进入 **Settings** → **Environment Variables**
|
||||
2. 添加以下环境变量:
|
||||
|
||||
| Key | Value | 说明 |
|
||||
|-----|-------|------|
|
||||
| `NEXT_PUBLIC_STORAGE_TYPE` | `upstash` | 启用 Upstash 存储 |
|
||||
| `UPSTASH_URL` | `https://xxx-xxx-xxx.upstash.io` | Upstash REST URL |
|
||||
| `UPSTASH_TOKEN` | `AXXXXxxxxxxxxxxxxxx` | Upstash REST Token |
|
||||
| `NEXT_PUBLIC_ENABLE_REGISTER` | `true` | 开启用户注册 |
|
||||
| `USERNAME` | `admin` | 管理员用户名 |
|
||||
| `PASSWORD` | `your_admin_password` | 管理员密码 |
|
||||
|
||||
3. 点击 **Save** 保存配置
|
||||
|
||||
**第四步:重新部署**
|
||||
|
||||
1. 进入 **Deployments** 页面
|
||||
2. 点击最新部署右侧的 **···** 菜单
|
||||
3. 选择 **Redeploy** 重新部署
|
||||
|
||||
#### ✨ 升级后的功能
|
||||
|
||||
配置完成后,你的应用将支持:
|
||||
|
||||
- **👥 多用户系统**: 用户可以注册独立账号
|
||||
- **🔄 跨设备同步**: 观看记录、收藏夹在所有设备间同步
|
||||
- **🛡️ 管理员功能**: 用户管理、系统配置等高级功能
|
||||
- **📊 数据持久化**: 数据存储在云端,永不丢失
|
||||
|
||||
#### 💰 费用说明
|
||||
|
||||
- **Upstash 免费额度**: 每月 10,000 个命令,通常足够个人/家庭使用
|
||||
- **Vercel 免费额度**: 包含 100GB 带宽和无限部署
|
||||
- **总成本**: 正常使用完全免费!
|
||||
|
||||
### ⚠️ 单机版注意事项
|
||||
|
||||
如果你选择不配置 Upstash(单机版):
|
||||
|
||||
- 不支持用户注册和账号系统
|
||||
- 观看记录保存在浏览器本地,换设备会丢失
|
||||
- 如果需要多用户功能,请考虑 Docker + Redis 方案
|
||||
- 如果需要多用户功能,强烈推荐配置 Upstash 或考虑 Docker + Redis 方案
|
||||
|
||||
---
|
||||
|
||||
@@ -1179,8 +1244,8 @@ echo $UPSTASH_TOKEN # 应该是长字符串令牌
|
||||
| ANNOUNCEMENT | 站点公告 | 任意字符串 | 本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。 |
|
||||
| NEXT_PUBLIC_STORAGE_TYPE | 播放记录/收藏的存储方式 | localstorage、redis、d1、upstash | localstorage |
|
||||
| REDIS_URL | redis 连接 url,若 NEXT_PUBLIC_STORAGE_TYPE 为 redis 则必填 | 连接 url | 空 |
|
||||
| UPSTASH_URL | upstash redis 连接 url | 连接 url | 空 |
|
||||
| UPSTASH_TOKEN | upstash redis 连接 token | 连接 token | 空 |
|
||||
| UPSTASH_URL | upstash redis 连接 url(REST API) | 连接 url | 空 |
|
||||
| UPSTASH_TOKEN | upstash redis 连接 token(REST API) | 连接 token | 空 |
|
||||
| NEXT_PUBLIC_ENABLE_REGISTER | 是否开放注册,仅在非 localstorage 部署时生效 | true / false | false |
|
||||
| NEXT_PUBLIC_SEARCH_MAX_PAGE | 搜索接口可拉取的最大页数 | 1-50 | 5 |
|
||||
| NEXT_PUBLIC_IMAGE_PROXY | 默认的浏览器端图片代理 | url prefix | (空) |
|
||||
|
||||
Reference in New Issue
Block a user