feat: Add NEXT_PUBLIC_EMAIL_DOMAIN environment variable and update README for configuration details

This commit is contained in:
beilunyang
2024-12-23 13:34:37 +08:00
parent 929f310202
commit 8a2fbeef48
4 changed files with 34 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
AUTH_GITHUB_ID = ""
AUTH_GITHUB_SECRET = ""
AUTH_SECRET = ""
AUTH_SECRET = ""
NEXT_PUBLIC_EMAIL_DOMAIN = ""

View File

@@ -116,6 +116,7 @@ jobs:
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
NEXT_PUBLIC_EMAIL_DOMAIN: ${{ secrets.NEXT_PUBLIC_EMAIL_DOMAIN }}
run: pnpm run deploy:pages
# Deploy email worker if changed

View File

@@ -13,6 +13,9 @@
<a href="#技术栈">技术栈</a> •
<a href="#本地运行">本地运行</a> •
<a href="#部署">部署</a> •
<a href="#Webhook 集成">Webhook 集成</a> •
<a href="#环境变量">环境变量</a> •
<a href="#Github OAuth App 配置">Github OAuth App 配置</a> •
<a href="#贡献">贡献</a> •
<a href="#许可证">许可证</a> •
<a href="#交流群">交流群</a> •
@@ -161,6 +164,7 @@ pnpm deploy:cleanup
- `CLOUDFLARE_ACCOUNT_ID`: Cloudflare 账户 ID
- `DATABASE_NAME`: D1 数据库名称
- `DATABASE_ID`: D1 数据库 ID
- `NEXT_PUBLIC_EMAIL_DOMAIN`: 邮箱域名 (例如: moemail.app)
2. 创建并推送新的 tag 来触发部署:
@@ -247,6 +251,32 @@ pnpx cloudflared tunnel --url http://localhost:3001
- Webhook 接口应在 10 秒内响应
- 非 2xx 响应码会触发重试
## 环境变量
本项目使用以下环境变量:
### 认证相关
- `AUTH_GITHUB_ID`: GitHub OAuth App ID
- `AUTH_GITHUB_SECRET`: GitHub OAuth App Secret
- `AUTH_SECRET`: NextAuth Secret用来加密 session请设置一个随机字符串
### 邮箱配置
- `NEXT_PUBLIC_EMAIL_DOMAIN`: 邮箱域名 (例如: moemail.app)
### Cloudflare 配置
- `CLOUDFLARE_API_TOKEN`: Cloudflare API Token
- `CLOUDFLARE_ACCOUNT_ID`: Cloudflare Account ID
- `DATABASE_NAME`: D1 数据库名称
- `DATABASE_ID`: D1 数据库 ID
## Github OAuth App 配置
- 登录 [Github Developer](https://github.com/settings/developers) 创建一个新的 OAuth App
- 生成一个新的 `Client ID``Client Secret`
- 设置 `Application name``<your-app-name>`
- 设置 `Homepage URL``https://<your-domain>`
- 设置 `Authorization callback URL``https://<your-domain>/api/auth/callback/github`
## 贡献

View File

@@ -1,7 +1,7 @@
export const EMAIL_CONFIG = {
MAX_ACTIVE_EMAILS: 30, // Maximum number of active emails
POLL_INTERVAL: 10_000, // Polling interval in milliseconds
DOMAIN: 'moemail.app', // Email domain
DOMAIN: process.env.NEXT_PUBLIC_EMAIL_DOMAIN || 'moemail.app', // Email domain
} as const
export const WEBHOOK_CONFIG = {