Environment Setup
Configure environment variables for your MkSaaS application
MkSaaS requires several environment variables to function properly, and this guide explains how to set them up.
Create a .env
file in the root directory of your project, and never commit it to version control.
You can copy the example file as a starting point:
Environment Variables
Core Configuration
Variable | Description |
---|---|
NEXT_PUBLIC_BASE_URL | The public URL of your site, e.g. http://localhost:3000 for development, https://yourdomain.com for production |
Database
Learn how to set up a database in the Database Setup guide.
Variable | Description |
---|---|
DATABASE_URL | Database connection URL |
Authentication
Learn how to set up authentication in the Authentication Setup guide.
Variable | Description |
---|---|
BETTER_AUTH_SECRET | A random string used to hash tokens and sign cookies |
GOOGLE_CLIENT_ID | Google OAuth client ID (optional) |
GOOGLE_CLIENT_SECRET | Google OAuth client secret (optional) |
GITHUB_CLIENT_ID | GitHub OAuth client ID (optional) |
GITHUB_CLIENT_SECRET | GitHub OAuth client secret (optional) |
Learn how to set up email in the Email Setup guide.
Variable | Description |
---|---|
RESEND_API_KEY | API key for Resend email service |
Newsletter
Learn how to set up newsletter in the Newsletter Setup guide.
Variable | Description |
---|---|
RESEND_API_KEY | API key for Resend email service |
RESEND_AUDIENCE_ID | Audience ID for Resend broadcast service |
Storage
Learn how to set up storage in the Storage Setup guide.
Variable | Description |
---|---|
STORAGE_REGION | Region for the storage bucket |
STORAGE_BUCKET_NAME | Name of the storage bucket |
STORAGE_ACCESS_KEY_ID | Access key ID for the storage bucket |
STORAGE_SECRET_ACCESS_KEY | Secret access key for the storage bucket |
STORAGE_ENDPOINT | Endpoint for the storage bucket |
STORAGE_FORCE_PATH_STYLE | Force path style for the storage bucket |
STORAGE_PUBLIC_URL | Public URL for the storage bucket |
Payment
Learn how to set up payments in the Payment Setup guide.
Variable | Description |
---|---|
STRIPE_SECRET_KEY | Stripe secret key |
STRIPE_WEBHOOK_SECRET | Stripe webhook signing secret |
NEXT_PUBLIC_STRIPE_PRICE_PRO_MONTHLY | Stripe price ID for your pro monthly subscription |
NEXT_PUBLIC_STRIPE_PRICE_PRO_YEARLY | Stripe price ID for your pro yearly subscription |
NEXT_PUBLIC_STRIPE_PRICE_LIFETIME | Stripe price ID for your lifetime subscription |
Analytics
Learn how to set up analytics in the Analytics Setup guide.
Variable | Description |
---|---|
GOOGLE_ANALYTICS_ID | Google Analytics ID for analytics features |
UMAMI_WEBSITE_ID | Umami Analytics website ID for analytics features |
UMAMI_SCRIPT | Umami Analytics script URL for analytics features |
OPENPANEL_CLIENT_ID | OpenPanel Analytics client ID for analytics features |
PLAUSIBLE_DOMAIN | Plausible Analytics domain for analytics features |
PLAUSIBLE_SCRIPT | Plausible Analytics script URL for analytics features |
Seline_TOKEN | Seline Analytics token for analytics features |
DATAFAST_ANALYTICS_ID | DataFast Analytics ID for analytics features |
DATAFAST_ANALYTICS_DOMAIN | DataFast Analytics domain for analytics features |
AI Features
Learn how to set up AI features in the AI Setup guide.
Variable | Description |
---|---|
OPENAI_API_KEY | OpenAI API key for AI features |
GOOGLE_API_KEY | Google API key for AI features |
DEEPSEEK_API_KEY | DeepSeek API key for AI features |
Verifying Environment Variables
To verify that your environment variables are correctly set up, run:
If everything is configured correctly, your application should start and run normally without any environment-related errors.
Next Steps
Now that your environment is set up, explore these related topics: