环境配置
为您的 MkSaaS 应用程序配置环境变量
MkSaaS 需要几个环境变量才能正常运行,本文档解释了如何设置它们。
在项目根目录创建一个 .env
文件,并且永远不要将其提交到版本控制。
您可以复制 .env.example
文件作为起点:
cp env.example .env
环境变量
核心配置
变量 | 描述 |
---|---|
NEXT_PUBLIC_BASE_URL | 网站的 URL,例如 http://localhost:3000 用于开发环境 (本地开发),https://yourdomain.com 用于生产环境 (线上部署) |
数据库
在数据库设置文档中学习如何设置数据库。
变量 | 描述 |
---|---|
DATABASE_URL | 数据库连接 URL |
身份验证
在身份验证设置文档中学习如何设置身份验证。
变量 | 描述 |
---|---|
BETTER_AUTH_SECRET | 用于哈希令牌和签名 Cookie 的随机字符串 |
GOOGLE_CLIENT_ID | Google OAuth 客户端 ID(可选) |
GOOGLE_CLIENT_SECRET | Google OAuth 客户端密钥(可选) |
GITHUB_CLIENT_ID | GitHub OAuth 客户端 ID(可选) |
GITHUB_CLIENT_SECRET | GitHub OAuth 客户端密钥(可选) |
邮件
在邮件设置文档中学习如何设置邮件。
变量 | 描述 |
---|---|
RESEND_API_KEY | Resend 邮件服务的 API 密钥 |
邮件订阅
在邮件订阅设置文档中学习如何设置邮件订阅。
变量 | 描述 |
---|---|
RESEND_API_KEY | Resend 邮件服务的 API 密钥 |
RESEND_AUDIENCE_ID | Resend 广播服务的受众 ID |
存储
在存储设置文档中学习如何设置存储。
变量 | 描述 |
---|---|
STORAGE_REGION | 存储桶的区域 |
STORAGE_BUCKET_NAME | 存储桶的名称 |
STORAGE_ACCESS_KEY_ID | 存储桶的访问密钥 ID |
STORAGE_SECRET_ACCESS_KEY | 存储桶的秘密访问密钥 |
STORAGE_ENDPOINT | 存储桶的端点 |
STORAGE_PUBLIC_URL | 存储桶的公共 URL |
支付
在支付设置文档中学习如何设置支付。
变量 | 描述 |
---|---|
STRIPE_SECRET_KEY | Stripe 秘密密钥 |
STRIPE_WEBHOOK_SECRET | Stripe webhook 签名密钥 |
NEXT_PUBLIC_STRIPE_PRICE_PRO_MONTHLY | 专业版月度订阅的 Stripe 价格 ID |
NEXT_PUBLIC_STRIPE_PRICE_PRO_YEARLY | 专业版年度订阅的 Stripe 价格 ID |
NEXT_PUBLIC_STRIPE_PRICE_LIFETIME | 终身计划的 Stripe 价格 ID |
积分
在积分设置文档中学习如何设置积分。
变量 | 描述 |
---|---|
NEXT_PUBLIC_STRIPE_PRICE_CREDITS_BASIC | 基础积分包的 Stripe 价格 ID(可选) |
NEXT_PUBLIC_STRIPE_PRICE_CREDITS_STANDARD | 标准积分包的 Stripe 价格 ID(可选) |
NEXT_PUBLIC_STRIPE_PRICE_CREDITS_PREMIUM | 高级积分包的 Stripe 价格 ID(可选) |
NEXT_PUBLIC_STRIPE_PRICE_CREDITS_ENTERPRISE | 企业积分包的 Stripe 价格 ID(可选) |
定时任务
在定时任务设置文档中学习如何设置定时任务。
变量 | 描述 |
---|---|
CRON_JOBS_USERNAME | 用于触发定时任务的 Basic 认证用户名 |
CRON_JOBS_PASSWORD | 用于触发定时任务的 Basic 认证密码 |
AI 功能
在AI 设置文档中学习如何设置 AI 功能。
变量 | 描述 |
---|---|
OPENAI_API_KEY | OpenAI API 密钥 |
GOOGLE_GENERATIVE_AI_API_KEY | Google API 密钥 |
DEEPSEEK_API_KEY | DeepSeek API 密钥 |
统计分析
在统计分析设置文档中学习如何设置统计分析。
变量 | 描述 |
---|---|
GOOGLE_ANALYTICS_ID | Google Analytics ID |
UMAMI_WEBSITE_ID | Umami Analytics 网站 ID |
UMAMI_SCRIPT | Umami Analytics 脚本 URL |
OPENPANEL_CLIENT_ID | OpenPanel Analytics 客户端 ID |
PLAUSIBLE_DOMAIN | Plausible Analytics 域名 |
PLAUSIBLE_SCRIPT | Plausible Analytics 脚本 URL |
Seline_TOKEN | Seline Analytics 令牌 |
DATAFAST_ANALYTICS_ID | DataFast Analytics ID |
DATAFAST_ANALYTICS_DOMAIN | DataFast Analytics 域名 |
通知
在通知设置文档中学习如何设置通知。
变量 | 描述 |
---|---|
DISCORD_WEBHOOK_URL | Discord Webhook URL |
FEISHU_WEBHOOK_URL | 飞书 Webhook URL |
验证码
在验证码设置文档中学习如何设置验证码。
变量 | 描述 |
---|---|
NEXT_PUBLIC_TURNSTILE_SITE_KEY | Cloudflare Turnstile 站点密钥 |
TURNSTILE_SECRET_KEY | Cloudflare Turnstile 秘密密钥 |
聊天框
在聊天框设置文档中学习如何设置聊天框。
变量 | 描述 |
---|---|
NEXT_PUBLIC_CRISP_WEBSITE_ID | Crisp Chat ID 用于网站聊天功能 |
联盟营销
在联盟营销设置文档中学习如何设置联盟营销。
变量 | 描述 |
---|---|
NEXT_PUBLIC_AFFILIATE_AFFONSO_ID | Affonso 联盟 ID |
NEXT_PUBLIC_AFFILIATE_PROMOTEKIT_ID | Promotekit 联盟 ID |
其他配置
.env
文件中还有一些其他配置可用,您可能需要根据需要设置它们。
变量 | 描述 |
---|---|
DISABLE_IMAGE_OPTIMIZATION | 禁用图像优化,如果您将网站部署到 Vercel,图像优化默认启用,可能会花费更多费用 |
NEXT_PUBLIC_DEMO_WEBSITE | 将此网站作为演示网站运行,我用这个来运行 MkSaaS 演示网站。在大多数情况下,您不应该设置这个环境变量,或者你可以显式将它设置为 false |
验证环境变量
要验证环境变量是否正确设置,请运行:
pnpm run dev
npm run dev
yarn dev
bun run dev
如果一切配置正确,您的应用程序应该启动并正常运行,没有任何与环境相关的错误。
视频教程
下一步
现在您的环境已经设置好了,探索这些相关主题: