mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-09-04 23:17:34 +08:00
feat: support deploy worker with UI assets (#627)
This commit is contained in:
@@ -27,7 +27,6 @@ export default defineConfig({
|
||||
}
|
||||
},
|
||||
themeConfig: {
|
||||
|
||||
logo: { src: '/logo.png', width: 24, height: 24 },
|
||||
search: { provider: 'local' },
|
||||
socialLinks: [
|
||||
|
||||
@@ -6,6 +6,7 @@ export const en = defineConfig({
|
||||
description: 'CloudFlare Free sending and receiving of temporary domain name mailboxes',
|
||||
|
||||
themeConfig: {
|
||||
outline: 'deep',
|
||||
nav: nav(),
|
||||
|
||||
editLink: {
|
||||
|
||||
@@ -28,6 +28,7 @@ export const zh = defineConfig({
|
||||
},
|
||||
|
||||
outline: {
|
||||
level: 'deep',
|
||||
label: '页面导航'
|
||||
},
|
||||
|
||||
@@ -121,6 +122,7 @@ function sidebarGuide(): DefaultTheme.SidebarItem[] {
|
||||
text: '通过 Github Actions 部署',
|
||||
collapsed: true,
|
||||
items: [
|
||||
{ text: 'Github Actions 部署准备', link: 'actions/pre-requisite' },
|
||||
{ text: 'D1 数据库', link: 'actions/d1' },
|
||||
{ text: 'Github Actions 配置', link: 'actions/github-action' },
|
||||
{ text: '配置邮件转发', link: 'email-routing.md' },
|
||||
|
||||
@@ -7,23 +7,50 @@
|
||||
|
||||
## 部署步骤
|
||||
|
||||
1. 在 GitHub fork 本仓库
|
||||
### Fork 仓库并启用 Actions
|
||||
|
||||
2. 打开仓库的 `Actions` 页面,找到 `Deploy Backend Production` 和 `Deploy Frontend`,点击 `enable workflow` 启用 `workflow`
|
||||
- 在 GitHub fork 本仓库
|
||||
- 打开仓库的 `Actions` 页面
|
||||
- 找到 `Deploy Backend` 点击 `enable workflow` 启用 `workflow`
|
||||
- 如果需要前后端分离部署, 找到`Deploy Frontend` 点击 `enable workflow` 启用 `workflow`
|
||||
|
||||
3. 然后在仓库页面 `Settings` -> `Secrets and variables` -> `Actions` -> `Repository secrets`, 添加以下 `secrets`:
|
||||
### 配置 Secrets
|
||||
|
||||
- `CLOUDFLARE_ACCOUNT_ID`: Cloudflare 账户 ID, [参考文档](https://developers.cloudflare.com/workers/wrangler/ci-cd/#cloudflare-account-id)
|
||||
- `CLOUDFLARE_API_TOKEN`: Cloudflare API Token, [参考文档](https://developers.cloudflare.com/workers/wrangler/ci-cd/#api-token)
|
||||
- `BACKEND_TOML`: 后端配置文件,[参考此处](/zh/guide/cli/worker.html#修改-wrangler-toml-配置文件)
|
||||
- `FRONTEND_ENV`: 前端配置文件,请复制 `frontend/.env.example` 的内容,[并参考此处修改](/zh/guide/cli/pages.html)
|
||||
- `FRONTEND_NAME`: 你在 Cloudflare Pages 创建的项目名称,可通过 [用户界面](https://temp-mail-docs.awsl.uk/zh/guide/ui/pages.html) 或者 [命令行](https://temp-mail-docs.awsl.uk/zh/guide/cli/pages.html) 创建
|
||||
- `FRONTEND_BRANCH`: (可选) pages 部署的分支,可不配置,默认 `production`
|
||||
- `TG_FRONTEND_NAME`: (可选) 你在 Cloudflare Pages 创建的项目名称,同 `FRONTEND_NAME`,如果需要 Telegram Mini App 功能,请填写
|
||||
- `DEBUG_MODE`: (可选) 是否开启调试模式,配置为 `true` 开启, 默认 worker 部署日志不会输出到 Github Actions 页面,开启后会输出
|
||||
- `BACKEND_USE_MAIL_WASM_PARSER`: (可选) 是否使用 wasm 解析邮件,配置为 `true` 开启, 功能参考 [配置 worker 使用 wasm 解析邮件](/zh/guide/feature/mail_parser_wasm_worker)
|
||||
然后在仓库页面 `Settings` -> `Secrets and variables` -> `Actions` -> `Repository secrets`, 添加以下 `secrets`:
|
||||
|
||||
4. 打开仓库的 `Actions` 页面,找到 `Deploy Backend Production` 和 `Deploy Frontend`,点击 `Run workflow` 选择分支手动部署
|
||||
- 公共 `secrets`
|
||||
|
||||
| 名称 | 说明 |
|
||||
| ----------------------- | --------------------------------------------------------------------------------------------------------------- |
|
||||
| `CLOUDFLARE_ACCOUNT_ID` | Cloudflare 账户 ID, [参考文档](https://developers.cloudflare.com/workers/wrangler/ci-cd/#cloudflare-account-id) |
|
||||
| `CLOUDFLARE_API_TOKEN` | Cloudflare API Token, [参考文档](https://developers.cloudflare.com/workers/wrangler/ci-cd/#api-token) |
|
||||
|
||||
- worker 后端 `secrets`
|
||||
|
||||
| 名称 | 说明 |
|
||||
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `BACKEND_TOML` | 后端配置文件,[参考此处](/zh/guide/cli/worker.html#修改-wrangler-toml-配置文件) |
|
||||
| `DEBUG_MODE` | (可选) 是否开启调试模式,配置为 `true` 开启, 默认 worker 部署日志不会输出到 Github Actions 页面,开启后会输出 |
|
||||
| `BACKEND_USE_MAIL_WASM_PARSER` | (可选) 是否使用 wasm 解析邮件,配置为 `true` 开启, 功能参考 [配置 worker 使用 wasm 解析邮件](/zh/guide/feature/mail_parser_wasm_worker) |
|
||||
| `USE_WORKER_ASSETS` | (可选) 部署带有前端资源的 Worker, 配置为 `true` 开启 |
|
||||
|
||||
- pages 前端 `secrets`
|
||||
|
||||
> [!warning] 注意
|
||||
> 如果选择部署带有前端资源的 Worker, 则无须配置这些 `secrets`
|
||||
|
||||
| 名称 | 说明 |
|
||||
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `FRONTEND_ENV` | 前端配置文件,请复制 `frontend/.env.example` 的内容,[并参考此处修改](/zh/guide/cli/pages.html) |
|
||||
| `FRONTEND_NAME` | 你在 Cloudflare Pages 创建的项目名称,可通过 [用户界面](https://temp-mail-docs.awsl.uk/zh/guide/ui/pages.html) 或者 [命令行](https://temp-mail-docs.awsl.uk/zh/guide/cli/pages.html) 创建 |
|
||||
| `FRONTEND_BRANCH` | (可选) pages 部署的分支,可不配置,默认 `production` |
|
||||
| `TG_FRONTEND_NAME` | (可选) 你在 Cloudflare Pages 创建的项目名称,同 `FRONTEND_NAME`,如果需要 Telegram Mini App 功能,请填写 |
|
||||
|
||||
### 部署
|
||||
|
||||
- 打开仓库的 `Actions` 页面
|
||||
- 找到 `Deploy Backend` 点击 `Run workflow` 选择分支手动部署
|
||||
- 如果需要前后端分离部署, 找到 `Deploy Frontend`, 点击 `Run workflow` 选择分支手动部署
|
||||
|
||||
## 如何配置自动更新
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# Gihub Actions 部署准备
|
||||
|
||||
## GitHub 账户
|
||||
|
||||
- 需要一个 GitHub 账户
|
||||
- 良好的网络环境
|
||||
|
||||
## Fork 仓库
|
||||
|
||||
- 在 GitHub fork [本仓库](https://github.com/dreamhunter2333/cloudflare_temp_email.git)
|
||||
@@ -1,8 +1,11 @@
|
||||
# Cloudflare Pages 前端
|
||||
|
||||
::: warning
|
||||
下面两种方式选择一种即可
|
||||
:::
|
||||
> [!warning] 注意
|
||||
> 下面几种方式选择一种即可
|
||||
|
||||
## 部署带有前端资源的 Worker
|
||||
|
||||
参考 [部署 Worker](/zh/guide/cli/worker#部署带有前端页面的-worker-可选)
|
||||
|
||||
## 前后端分离部署
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Cloudflare workers 后端
|
||||
# Cloudflare Worker 后端
|
||||
|
||||
## 初始化项目
|
||||
|
||||
@@ -36,6 +36,12 @@ compatibility_flags = [ "nodejs_compat" ]
|
||||
# { pattern = "temp-email-api.xxxxx.xyz", custom_domain = true },
|
||||
# ]
|
||||
|
||||
# 如果你想要部署带有前端资源的 worker, 你需要添加 assets 配置
|
||||
# [assets]
|
||||
# directory = "../frontend/dist/"
|
||||
# binding = "ASSETS"
|
||||
# run_worker_first = true
|
||||
|
||||
# 如果你想要使用定时任务清理邮件,取消下面的注释,并修改 cron 表达式
|
||||
# [triggers]
|
||||
# crons = [ "0 0 * * *" ]
|
||||
@@ -86,6 +92,29 @@ database_id = "xxx" # D1 数据库 ID
|
||||
# service = "auth-inbox"
|
||||
```
|
||||
|
||||
## 部署带有前端页面的 worker(可选)
|
||||
|
||||
> [!NOTE]
|
||||
> 如果不需要 [带有前端页面的 worker],可以跳过此步骤
|
||||
> 参考之后部署前端文档,可以进行前后端分离部署
|
||||
|
||||
确认已构建前端资源到 `frontend/dist` 目录
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
pnpm install --no-frozen-lockfile
|
||||
pnpm build:pages
|
||||
```
|
||||
|
||||
`worker` 目录下的 `wrangler.toml` 文件中添加下面的配置
|
||||
|
||||
```toml
|
||||
[assets]
|
||||
directory = "../frontend/dist/"
|
||||
binding = "ASSETS"
|
||||
run_worker_first = true
|
||||
```
|
||||
|
||||
## Telegram Bot 配置
|
||||
|
||||
> [!NOTE]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 搭建 SMTP IMAP 代理服务
|
||||
|
||||
::: warning
|
||||
::: warning 注意
|
||||
如果你使用了 `resend`, 可直接使用 `resend` 的 `SMTP` 服务,不需要使用此服务
|
||||
:::
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# OAuth2 第三方登录
|
||||
|
||||
> [!WARNING]
|
||||
> [!WARNING] 注意
|
||||
> 第三方登录会自动使用用户邮箱注册账号(邮箱相同将视为同一账号)
|
||||
>
|
||||
> 此账号和注册的账号相同, 也可以通过忘记密码设置密码
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
- [通过命令行部署](/zh/guide/cli/pre-requisite)
|
||||
- [通过用户界面部署](/zh/guide/ui/d1)
|
||||
- [通过Github Actions 部署](/zh/guide/actions/github-action)
|
||||
- [通过Github Actions 部署](/zh/guide/actions/pre-requisite)
|
||||
|
||||
### 也可以参考网友提供的详细的小白教程
|
||||
|
||||
|
||||
Reference in New Issue
Block a user