配置说明
配置说明
先查看 nextdevtpl.generated.json 和生成后的 .env.example。生成器已经删除未选
能力的变量,当前项目只需要配置留下的部分。
基础变量
| 变量 | 作用 |
|---|---|
DATABASE_URL | PostgreSQL 连接串,供 Drizzle、认证和健康检查使用 |
BETTER_AUTH_SECRET | 签名会话数据,生产环境使用长随机值 |
BETTER_AUTH_URL | Better Auth 回调和 Cookie 使用的站点 URL |
NEXT_PUBLIC_APP_URL | 浏览器链接、metadata 和回跳 URL |
NEXT_PUBLIC_APP_NAME | 站点和邮件显示名称 |
认证与产品
| 能力 | 变量 |
|---|---|
| GitHub OAuth | GITHUB_CLIENT_ID、GITHUB_CLIENT_SECRET |
| Google OAuth | GOOGLE_CLIENT_ID、GOOGLE_CLIENT_SECRET |
| 套餐价格 | NEXT_PUBLIC_PRICE_* 六个价格 ID |
| 积分过期 cron | CRON_SECRET |
| Analytics 浏览器同意 | 只有 GA4 页面脚本使用 NEXT_PUBLIC_GA_ID |
| 产品分析 | POSTHOG_API_KEY、POSTHOG_HOST;或 GA4_MEASUREMENT_ID、GA4_API_SECRET;或 UMAMI_WEBSITE_ID、UMAMI_API_KEY、UMAMI_HOST |
| 运营告警 | CRON_SECRET、阈值和已选告警适配器变量 |
| Sentry | NEXT_PUBLIC_SENTRY_DSN、SENTRY_AUTH_TOKEN |
| Axiom | AXIOM_TOKEN、AXIOM_DATASET |
OAuth 回调分别是 /api/auth/callback/github 和
/api/auth/callback/google。生产后台必须填写正式域名。
适配器变量
| 选择 | 变量或 Binding |
|---|---|
| Creem | CREEM_API_KEY、CREEM_WEBHOOK_SECRET |
| Stripe | STRIPE_SECRET_KEY、STRIPE_WEBHOOK_SECRET |
| S3 Compatible | STORAGE_ENDPOINT、STORAGE_REGION、STORAGE_BUCKET_NAME、Access Key/Secret |
| R2 Binding | NEXTDEVTPL_STORAGE |
| Resend | RESEND_API_KEY、EMAIL_FROM |
| SMTP | SMTP_HOST、SMTP_PORT、SMTP_SECURE、可选账号密码 |
| Cloudflare Email | NEXTDEVTPL_EMAIL、EMAIL_FROM |
| OpenAI Compatible | AI_PROVIDER 和 OpenAI/DeepSeek/MiMo 对应 Key、Model |
| Anthropic | ANTHROPIC_API_KEY、ANTHROPIC_MODEL |
| Workers AI | AI Binding、WORKERS_AI_MODEL |
| Inngest | INNGEST_EVENT_KEY、INNGEST_SIGNING_KEY |
| Workflows | NEXTDEVTPL_WORKFLOW |
| Upstash | UPSTASH_REDIS_REST_URL、UPSTASH_REDIS_REST_TOKEN |
| Cloudflare 限流 | RATE_LIMIT_GLOBAL 等七个 Binding |
| 告警邮件 | ALERT_EMAIL_TO、EMAIL_FROM |
| 告警 Webhook | ALERT_WEBHOOK_URL、可选 ALERT_WEBHOOK_SECRET |
运营阈值为可选配置,对应生成项目的告警规则:
ALERT_COOLDOWN_MINUTES、ALERT_PAYMENT_FAILURE_RATE_THRESHOLD、
ALERT_AI_COST_THRESHOLD_MINOR。金额阈值使用当前货币的最小单位。告警适配器在
生成时通过 --alerts 固定;ALERT_PROVIDER 只供完整模板源码使用,生成项目的
适配器已经固定后不再读取它。
Cloudflare Binding 配在 wrangler.jsonc,密钥用 wrangler secret put 或平台密钥
管理配置。不要把真实值写进仓库。
配置缺失时
- 基础数据库和认证变量缺失会让启动或健康检查失败。
- 选中服务的凭证缺失时,对应操作返回明确配置错误。
disabled邮件和noop限流适合本地开发,它们不会提供真实投递或防滥用。- Axiom 和 Sentry 未配置时,本地日志与 console 错误仍可使用。
- 浏览器分析采集会遵循同意状态并移除敏感字段;凭证缺失不能阻塞核心业务请求。
常改入口
| 路径 | 内容 |
|---|---|
src/config/site.ts | 站点名、URL、metadata、社交链接 |
src/config/nav.ts | Header、Footer、Dashboard、Admin 导航 |
src/config/payment.ts | 产品 ID 和 checkout 配置 |
src/config/subscription-plan.ts | 套餐额度与展示 |
src/services/*.ts | 当前适配器实例 |
.env.local | 本地变量和密钥 |