Environment Configuration
Configure your project with environment variables to enable all required third-party integrations.
Learn how to set up the database in the database setup documentation.
| Variable | Description |
|---|
| DATABASE_URL | Database connection URL |
| Variable | Description |
|---|
| ADMIN_EMAILS | Admin email addresses |
| BETTER_AUTH_SECRET | Auth secret; generate it on the Better Auth site |
| BETTER_AUTH_URL | Auth base URL |
If you want to enable OAuth (GitHub or Google sign-in), configure the following:
| Variable | Description |
|---|
| GITHUB_CLIENT_ID | GitHub OAuth client ID |
| GITHUB_CLIENT_SECRET | GitHub OAuth client secret |
| GOOGLE_CLIENT_ID | Google OAuth client ID |
| GOOGLE_CLIENT_SECRET | Google OAuth client secret |
You can use your own SMTP server, or the Resend service.
| Variable | Description |
|---|
| EMAIL_HOST | SMTP host |
| EMAIL_ADDRESS | From email address |
| EMAIL_USER | SMTP username |
| EMAIL_PASSWORD | SMTP password |
Choose either one; if both are configured, Resend is used by default.
| Variable | Description |
|---|
| RESEND_API_KEY | Resend service API key |
| Variable | Description |
|---|
| NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Stripe publishable key |
| STRIPE_SECRET_KEY | Stripe API key |
| STRIPE_WEBHOOK_SECRET | Stripe webhook secret |
| NEXT_PUBLIC_STRIPE_PRO_MONTHLY_PRICE_ID | Stripe Pro monthly price ID |
| NEXT_PUBLIC_STRIPE_PRO_YEARLY_PRICE_ID | Stripe Pro yearly price ID |
| NEXT_PUBLIC_STRIPE_LIFETIME_PRICE_ID | Stripe lifetime price ID |
| NEXT_PUBLIC_STRIPE_100_CREDITS_PRICE_ID | Stripe 100 credits price ID (optional if you don't need credits) |
| NEXT_PUBLIC_STRIPE_200_CREDITS_PRICE_ID | Stripe 200 credits price ID (optional if you don't need credits) |
| Variable | Description |
|---|
| CREEM_X_API_KEY | Creem API key |
| CREEM_TEST_MODE | Creem test mode |
| CREEM_WEBHOOK_SECRET | Creem webhook secret |
| NEXT_PUBLIC_CREEM_PRO_MONTHLY_PRODUCT_ID | Creem Pro monthly product ID |
| NEXT_PUBLIC_CREEM_LIFETIME_PRODUCT_ID | Creem lifetime product ID |
| NEXT_PUBLIC_CREEM_100_CREDITS_PRODUCT_ID | Creem 100 credits product ID (optional if you don't need credits) |
| NEXT_PUBLIC_CREEM_200_CREDITS_PRODUCT_ID | Creem 200 credits product ID (optional if you don't need credits) |
| Variable | Description |
|---|
| STORAGE_ENABLED | Whether storage is enabled (true/false) |
| STORAGE_ENDPOINT | Storage service endpoint |
| STORAGE_ACCESS_KEY | Storage access key |
| STORAGE_SECRET_KEY | Storage secret key |
| STORAGE_BUCKET | Storage bucket |
| STORAGE_USE_ACL | Whether to use ACL (true/false) |
| Variable | Description |
|---|
| OPENAI_BASE_URL | OpenAI API endpoint |
| OPENAI_API_KEY | OpenAI API key |
| OPEN_ROUTER_KEY | OpenRouter API key |
| SILICONFLOW_API_KEY | SiliconFlow API key |
| SILICONFLOW_BASE_URL | SiliconFlow API endpoint |
| GOOGLE_GENERATIVE_AI_API_KEY | Google Generative AI API key |
| ELEVENLABS_API_KEY | ElevenLabs API key |
| Variable | Description |
|---|
| NEXT_PUBLIC_GA_ID | Google Analytics 4 tracking ID |
| NEXT_PUBLIC_POSTHOG_KEY | PostHog project API key |
| NEXT_PUBLIC_PLAUSIBLE_DOMAIN | Plausible site domain |
| NEXT_PUBLIC_UMAMI_WEBSITE_ID | Umami website ID |
| NEXT_PUBLIC_OPENPANEL_CLIENT_ID | OpenPanel client ID |
| NEXT_PUBLIC_DATAFAST_WEBSITE_ID | DataFast website ID |
| NEXT_PUBLIC_SELINE_TOKEN | Seline token |
| NEXT_PUBLIC_51LA_SITE_ID | 51.la site ID |
| Variable | Description |
|---|
| NEXT_PUBLIC_ROLLBAR_ACCESS_TOKEN | Rollbar browser access token |
| ROLLBAR_SERVER_ACCESS_TOKEN | Rollbar server access token |
| NEXT_PUBLIC_ENABLE_GA_IN_DEV | Enable GA in development (true/false, optional) |
| NEXT_PUBLIC_ENABLE_ERROR_REPORTING_IN_DEV | Enable error reporting in development (true/false, optional) |
After setting environment variables, continue with the configuration guides:
- Website Configuration:
/docs/config/website
- Navbar Menus:
/docs/config/navbar
- Footer Menus:
/docs/config/footer
- Price Plans:
/docs/config/price-plans
- Credit Packages:
/docs/config/credit-packages