环境变量
必填
| 变量 | 说明 |
|---|---|
GITHUB_TOKEN | Fine-grained PAT,单仓库,Contents: Read and write |
COMMENTS_REPO | owner/repo,评论数据仓库 |
COMMENTS_SECRET | 至少 32 字节,HKDF 主密钥 |
SELF_ORIGIN | 评论系统自身 URL,无尾斜杠 |
ALLOWED_ORIGINS | 逗号分隔的博客 Origin |
TURNSTILE_SITE_KEY | 可选。设置即启用人机验证 |
TURNSTILE_SECRET | 可选。需与 site key 成对出现 |
Turnstile 是可选能力:两组都不填则不启用人机验证;只填一组视为配置错误,health 会报 degraded。它与是否开启人工审核相互独立。
审核与发件
| 变量 | 默认 | 何时必填 | 说明 |
|---|---|---|---|
MODERATION_REQUIRED | true | 否 | true 走邮件审核;false 直接写入 |
MODERATOR_EMAIL | — | 仅审核开启 | 审核邮件收件人 |
MAIL_PROVIDER | 自动 | 否 | resend 或 mailport |
RESEND_API_KEY | — | 审核开启且用 Resend | |
RESEND_FROM | — | 随 RESEND_API_KEY | Name <addr@domain> |
MAILPORT_BASE_URL | — | 审核开启且用 MailPort | 无尾斜杠 |
MAILPORT_PID | — | 随 MailPort | 5–10 位路由 id |
MAILPORT_API_KEY | — | 随 MailPort | 32 位密钥 |
发件选择:
MAIL_PROVIDER显式指定 → 用指定的;对应组不完整则 health 为 degraded- 未指定 → 只配 Resend 用 Resend;只配 MailPort 用 MailPort;都配默认 Resend
- 都缺 →
submit返回503 mail_not_configured
可选
| 变量 | 默认 | 说明 |
|---|---|---|
COMMENTS_BRANCH | main | 写入分支 |
COMMENTS_PATH | comments | 仓库内目录,无首尾斜杠 |
SELF_REPO | 空 | 仅用于 /api/health 同仓告警比对 |
没有 SAME_REPO 开关。同仓/异仓由 COMMENTS_REPO 的值决定。
启动校验
配置不完整时服务不会崩溃,而是:
/api/health返回503与degraded- 缺失配置涉及的接口返回
503 - 未涉及的接口正常工作