diff --git a/README.md b/README.md
index 9430057..ffb61ee 100644
--- a/README.md
+++ b/README.md
@@ -129,67 +129,16 @@ pnpm generate-test-data
```
## 部署
-### 视频版部署教程
-https://www.bilibili.com/video/BV19wrXY2ESM/
-
-### 部署前准备
-
-在开始部署之前,需要在 Cloudflare 控制台完成以下准备工作:
-
-1. **创建 D1 数据库**
- - 登录 [Cloudflare 控制台](https://dash.cloudflare.com/)
- - 选择 “存储与数据库” -> “D1 SQL 数据库”
- - 创建一个数据库(例如:moemail)
- - 记录下数据库名称和数据库 ID,后续配置需要用到
-
-2. **创建 KV 命名空间**
- - 登录 [Cloudflare 控制台](https://dash.cloudflare.com/)
- - 选择 “存储与数据库” -> “KV”
- - 创建一个 KV 命名空间(例如:moemail)
- - 记录下命名空间 ID,后续配置需要用到
-
-3. **创建 Pages 项目**
- - 登录 [Cloudflare 控制台](https://dash.cloudflare.com/)
- - 选择 “Workers 和 Pages”
- - 点击 “创建” 并选择 “Pages” 标签
- - 选择 “使用直接上传创建”
- - 点击 “上传资产”
- - 输入项目名称
- - 注意:项目名称必须为 moemail,否则无法正常部署
- - 输入项目名称后,点击 “创建项目” 即可,不需要上传任何文件以及点击“部署站点”,之后我们会通过 本地运行Wrangler 或者通过 Github Actions 自动部署
-4. **为 Pages 项目添加 AUTH 认证相关的 SECRETS**
- - 在 Overview 中选择刚刚创建的 Pages 项目
- - 在 Settings 中选择变量和机密
- - 添加 AUTH_GITHUB_ID, AUTH_GITHUB_SECRET, AUTH_SECRET
-
### 本地 Wrangler 部署
-
-1. 设置 wrangler:
+1. 创建 .env 文件
```bash
-cp wrangler.example.toml wrangler.toml
-cp wrangler.email.example.toml wrangler.email.toml
-cp wrangler.cleanup.example.toml wrangler.cleanup.toml
+cp .env.example .env
```
-设置 Cloudflare D1 数据库名以及数据库 ID
+2. 在 .env 文件中设置[环境变量](#环境变量)
-2. 创建云端 D1 数据库表结构
+3. 运行部署脚本
```bash
-pnpm db:migrate-remote
-```
-
-2. 部署主应用到 Cloudflare Pages:
-```bash
-pnpm deploy:pages
-```
-
-3. 部署邮件 worker:
-```bash
-pnpm deploy:email
-```
-
-4. 部署清理 worker:
-```bash
-pnpm deploy:cleanup
+pnpm dlx tsx ./scripts/deploy/index.ts
```
### Github Actions 部署
@@ -197,10 +146,7 @@ pnpm deploy:cleanup
本项目可使用 GitHub Actions 实现自动化部署。支持以下触发方式:
1. **自动触发**:推送新的 tag 时自动触发部署流程
-2. **手动触发**:在 GitHub Actions 页面手动触发,可选择以下部署选项:
- - Run database migrations:执行数据库迁移
- - Deploy email Worker:重新部署邮件 Worker
- - Deploy cleanup Worker:重新部署清理 Worker
+2. **手动触发**:在 GitHub Actions 页面手动触发
#### 部署步骤
@@ -208,8 +154,8 @@ pnpm deploy:cleanup
- `CLOUDFLARE_API_TOKEN`: Cloudflare API 令牌
- `CLOUDFLARE_ACCOUNT_ID`: Cloudflare 账户 ID
- `DATABASE_NAME`: D1 数据库名称
- - `DATABASE_ID`: D1 数据库 ID
- - `KV_NAMESPACE_ID`: Cloudflare KV namespace ID,用于存储网站配置
+ - `KV_NAMESPACE_NAME`: Cloudflare KV namespace 名称,用于存储网站配置
+ - `CUSTOM_DOMAIN`: 网站自定义域名,用于访问 MoeMail (可选, 如果不填, 则会使用 Cloudflare Pages 默认域名)
2. 选择触发方式:
@@ -226,23 +172,12 @@ pnpm deploy:cleanup
- 进入仓库的 Actions 页面
- 选择 "Deploy" workflow
- 点击 "Run workflow"
- - 选择需要执行的部署选项
- - 点击 "Run workflow" 开始部署
-3. GitHub Actions 会自动执行以下任务:
- - 构建并部署主应用到 Cloudflare Pages
- - 根据选项或文件变更执行数据库迁移
- - 根据选项或文件变更部署 Email Worker
- - 根据选项或文件变更部署 Cleanup Worker
-
-4. 部署进度可以在仓库的 Actions 标签页查看
+3. 部署进度可以在仓库的 Actions 标签页查看
#### 注意事项
- 确保所有 Secrets 都已正确设置
- 使用 tag 触发时,tag 必须以 `v` 开头(例如:v1.0.0)
-- 使用 tag 触发时,只有文件发生变更的部分会被部署
-- 手动触发时,可以选择性地执行特定的部署任务
-- 每次部署都会重新部署主应用
[](https://deploy.workers.cloudflare.com/?url=https://github.com/beilunyang/moemail)
@@ -274,7 +209,7 @@ pnpm deploy:cleanup
### 注意事项
- 确保域名的 DNS 托管在 Cloudflare
- Email Worker 必须已经部署成功
-- 如果Catch-All 状态不可用,请在点击`路由规则`旁边的`目标地址`进去绑定一个邮箱
+- 如果 Catch-All 状态不可用(一直 loading),请点击`路由规则`旁边的`目标地址`, 进去绑定一个邮箱
## 权限系统
@@ -504,10 +439,25 @@ const data = await res.json();
本项目采用 [MIT](LICENSE) 许可证
-## 交流群
-
-
-如二维码失效,请添加我的个人微信(hansenones),并备注 "MoeMail" 加入微信交流群
+## 交流
+
+
+ |
+
+
+ |
+
| + 关注公众号,了解更多项目进展以及AI, 区块链,独立开发资讯 + | ++ 添加微信,备注 "MoeMail" 拉你进微信交流群 + | +