diff --git a/README.md b/README.md index 39d6c7f..c196da8 100644 --- a/README.md +++ b/README.md @@ -63,9 +63,24 @@ 本项目**支持 Vercel、Docker 和 Cloudflare** 部署。 +存储支持矩阵 + +| | Docker | Vercel | Cloudflare | +| :-----------: | :----: | :----: | :--------: | +| localstorage | ✅ | ✅ | ✅ | +| 原生 redis | ✅ | | | +| Cloudflare D1 | | | ✅ | +| Upstash Redis | ☑️ | ✅ | ☑️ | + +✅:经测试支持 + +☑️:理论上支持,未测试 + +除 localstorage 方式外,其他方式都支持多账户、记录同步和管理页面 + ### Vercel 部署 -> 推荐使用,零运维成本,免费额度足够个人使用。 +#### 普通部署(localstorage) 1. **Fork** 本仓库到你的 GitHub 账户。 2. 登陆 [Vercel](https://vercel.com/),点击 **Add New → Project**,选择 Fork 后的仓库。 @@ -76,6 +91,15 @@ 部署完成后即可通过分配的域名访问,也可以绑定自定义域名。 +#### Upstash Redis 支持 + +0. 完成普通部署并成功访问。 +1. 在 [upstash](https://upstash.com/) 注册账号并新建一个 Redis 实例,名称任意。 +2. 复制新数据库的 **HTTPS ENDPOINT 和 TOKEN** +3. 返回你的 Vercel 项目,新增环境变量 **UPSTASH_URL 和 UPSTASH_TOKEN**,值为第二步复制的 endpoint 和 token +4. 设置环境变量 NEXT_PUBLIC_STORAGE_TYPE,值为 **upstash**;设置 USERNAME 和 PASSWORD 作为站长账号 +5. 重试部署 + ### Cloudflare 部署 **Cloudflare Pages 的环境变量尽量设置为密钥而非文本** @@ -93,16 +117,15 @@ #### D1 支持 +0. 完成普通部署并成功访问 1. 点击 **存储和数据库 -> D1 SQL 数据库**,创建一个新的数据库,名称随意 -2. 进入刚创建的数据库,点击左上角的 Explore Data,将[D1 初始化](D1初始化.md) 中的内容粘贴到 Query 窗口后点击 Run All,等待运行完成 +2. 进入刚创建的数据库,点击左上角的 Explore Data,将[D1 初始化](D1初始化.md) 中的内容粘贴到 Query 窗口后点击 **Run All**,等待运行完成 3. 返回你的 pages 项目,进入 **设置 -> 绑定**,添加绑定 D1 数据库,选择你刚创建的数据库,变量名称填 **DB** -4. 设置环境变量 NEXT_PUBLIC_STORAGE_TYPE,值为 d1;设置 USERNAME 和 PASSWORD 作为站长账号 +4. 设置环境变量 NEXT_PUBLIC_STORAGE_TYPE,值为 **d1**;设置 USERNAME 和 PASSWORD 作为站长账号 5. 重试部署 ### Docker 部署 -> 适用于自建服务器 / NAS / 群晖等场景。 - #### 1. 直接运行(最简单) ```bash @@ -192,7 +215,7 @@ networks: | REDIS_URL | redis 连接 url,若 NEXT_PUBLIC_STORAGE_TYPE 为 redis 则必填 | 连接 url | 空 | | UPSTASH_URL | upstash redis 连接 url | 连接 url | 空 | | UPSTASH_TOKEN | upstash redis 连接 token | 连接 token | 空 | -| NEXT_PUBLIC_ENABLE_REGISTER | 是否开放注册,仅在 redis 部署时生效 | true / false | false | +| NEXT_PUBLIC_ENABLE_REGISTER | 是否开放注册,仅在非 localstorage 部署时生效 | true / false | false | | NEXT_PUBLIC_SEARCH_MAX_PAGE | 搜索接口可拉取的最大页数 | 1-50 | 5 | | NEXT_PUBLIC_IMAGE_PROXY | 默认的浏览器端图片代理 | url prefix | (空) | @@ -227,7 +250,7 @@ MoonTV 支持标准的苹果 CMS V10 API 格式。 ## 管理员配置 -**该特性目前仅支持通过 Docker+Redis 或 Cloudflare+D1 的部署方式使用** +**该特性目前仅支持通过非 localstorage 存储的部署方式使用** 支持在运行时动态变更服务配置