Skip to main content

Environment Variables Complete Reference

This page provides a comprehensive reference of all environment variables used by the Ever Works template. Variables are organized by category with their types, default values, and whether they are required.

Copy .env.example to .env.local and fill in the values for your deployment.

Content & Data Repository

VariableTypeRequiredDefaultDescription
DATA_REPOSITORYstring (URL)Yes--Git repository URL for content data
GH_TOKENstringNo--GitHub personal access token (for private repos)
GITHUB_TOKENstringNo--Alternative GitHub token variable
GITHUB_BRANCHstringNomasterGit branch to clone content from

Database

VariableTypeRequiredDefaultDescription
DATABASE_URLstringRecommended--Database connection string (SQLite or Postgres)

When DATABASE_URL is not set, database-dependent features (ratings, comments, favorites, surveys, featured items) are automatically disabled via the feature flags system.

Authentication

VariableTypeRequiredDefaultDescription
AUTH_SECRETstringYes--NextAuth secret (openssl rand -base64 32)
COOKIE_SECRETstringYes--Cookie encryption secret
COOKIE_DOMAINstringNo--Cookie domain (e.g., localhost)
COOKIE_SECUREbooleanNotrueSecure cookie flag
JWT_ACCESS_TOKEN_EXPIRES_INstringNo15mAccess token TTL
JWT_REFRESH_TOKEN_EXPIRES_INstringNo7dRefresh token TTL

OAuth Providers

VariableTypeRequiredDescription
GOOGLE_CLIENT_IDstringNoGoogle OAuth client ID
GOOGLE_CLIENT_SECRETstringNoGoogle OAuth client secret
GITHUB_CLIENT_IDstringNoGitHub OAuth client ID
GITHUB_CLIENT_SECRETstringNoGitHub OAuth client secret
MICROSOFT_CLIENT_IDstringNoMicrosoft OAuth client ID
MICROSOFT_CLIENT_SECRETstringNoMicrosoft OAuth client secret
FB_CLIENT_IDstringNoFacebook OAuth client ID
FB_CLIENT_SECRETstringNoFacebook OAuth client secret
X_CLIENT_IDstringNoX (Twitter) OAuth client ID
X_CLIENT_SECRETstringNoX (Twitter) OAuth client secret
LINKEDIN_CLIENT_IDstringNoLinkedIn OAuth client ID
LINKEDIN_CLIENT_SECRETstringNoLinkedIn OAuth client secret

OAuth providers auto-enable when both client ID and secret are set.

Site & Branding (Client-Safe)

All NEXT_PUBLIC_* variables are exposed to the browser.

VariableTypeDefaultDescription
NEXT_PUBLIC_APP_URLstring (URL)http://localhost:3000Directory app URL
NEXT_PUBLIC_SITE_URLstring (URL)https://ever.worksCompany public website URL
NEXT_PUBLIC_API_BASE_URLstring (URL)http://localhost:3000API base URL
NEXT_PUBLIC_SITE_NAMEstringEver WorksSite name for metadata
NEXT_PUBLIC_SITE_TAGLINEstringThe Open-Source, AI-Powered Directory BuilderSite tagline
NEXT_PUBLIC_BRAND_NAMEstringEver WorksBrand name for schema.org
NEXT_PUBLIC_SITE_DESCRIPTIONstring(see .env.example)SEO description (under 160 chars)
NEXT_PUBLIC_SITE_KEYWORDSstring (CSV)Ever Works,Directory Builder,...Comma-separated SEO keywords
NEXT_PUBLIC_SITE_LOGOstring/logo-ever-works.svgLogo path (relative to /public)

OG Image Theming

VariableTypeDefaultDescription
NEXT_PUBLIC_OG_GRADIENT_STARTstring (hex)#667eeaOG image gradient start color
NEXT_PUBLIC_OG_GRADIENT_ENDstring (hex)#764ba2OG image gradient end color
VariableTypeDefaultDescription
NEXT_PUBLIC_SOCIAL_GITHUBstring (URL)https://github.com/ever-worksGitHub link
NEXT_PUBLIC_SOCIAL_Xstring (URL)https://x.com/everplatformX (Twitter) link
NEXT_PUBLIC_SOCIAL_LINKEDINstring (URL)(see .env.example)LinkedIn link
NEXT_PUBLIC_SOCIAL_FACEBOOKstring (URL)(see .env.example)Facebook link
NEXT_PUBLIC_SOCIAL_BLOGstring (URL)https://blog.ever.worksBlog link
NEXT_PUBLIC_SOCIAL_EMAILstringever@ever.worksContact email

Attribution

VariableTypeDefaultDescription
NEXT_PUBLIC_ATTRIBUTION_URLstring (URL)https://ever.works"Built with" link URL
NEXT_PUBLIC_ATTRIBUTION_NAMEstringEver Works"Built with" link text

Payment Providers

Stripe

VariableTypeRequiredDescription
STRIPE_SECRET_KEYstringNoStripe secret key (server-only)
STRIPE_PUBLISHABLE_KEYstringNoStripe publishable key
STRIPE_WEBHOOK_SECRETstringNoWebhook signing secret
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYstringNoClient-safe publishable key
NEXT_PUBLIC_STRIPE_DYNAMIC_PRICINGbooleanNoLoad prices from Stripe API
NEXT_PUBLIC_STRIPE_PAYMENT_FORM_ENABLEDbooleanNoEnable Stripe checkout

Stripe Multi-Currency Price IDs

For Standard and Premium plans, the template supports currency-specific price IDs:

NEXT_PUBLIC_STRIPE_STANDARD_PRODUCT_ID=
NEXT_PUBLIC_STRIPE_STANDARD_MONTHLY_PRICE_ID_USD=
NEXT_PUBLIC_STRIPE_STANDARD_MONTHLY_PRICE_ID_EUR=
NEXT_PUBLIC_STRIPE_STANDARD_MONTHLY_PRICE_ID_GBP=
NEXT_PUBLIC_STRIPE_STANDARD_MONTHLY_PRICE_ID_CAD=
NEXT_PUBLIC_STRIPE_STANDARD_YEARLY_PRICE_ID_USD=
NEXT_PUBLIC_STRIPE_STANDARD_YEARLY_PRICE_ID_EUR=
...

The same pattern applies for Premium plan variables and setup fee IDs.

LemonSqueezy

VariableTypeDescription
LEMONSQUEEZY_API_KEYstringAPI key
LEMONSQUEEZY_STORE_IDstringStore identifier
LEMONSQUEEZY_WEBHOOK_SECRETstringWebhook secret
LEMONSQUEEZY_WEBHOOK_URLstringWebhook endpoint URL
LEMONSQUEEZY_TEST_MODEbooleanEnable test mode
NEXT_PUBLIC_LEMONSQUEEZY_FREE_VARIANT_IDstringFree plan variant
NEXT_PUBLIC_LEMONSQUEEZY_STANDARD_VARIANT_IDstringStandard plan variant
NEXT_PUBLIC_LEMONSQUEEZY_PREMIUM_VARIANT_IDstringPremium plan variant
NEXT_PUBLIC_LEMONSQUEEZY_PAYMENT_FORM_ENABLEDbooleanEnable checkout

Polar

VariableTypeDescription
POLAR_ACCESS_TOKENstringAccess token
POLAR_WEBHOOK_SECRETstringWebhook secret
POLAR_ORGANIZATION_IDstringOrganization ID
POLAR_SANDBOXbooleanSandbox mode (default: true)
POLAR_API_URLstring (URL)Custom API URL
NEXT_PUBLIC_POLAR_FREE_PLAN_IDstringFree plan ID
NEXT_PUBLIC_POLAR_STANDARD_PLAN_IDstringStandard plan ID
NEXT_PUBLIC_POLAR_PREMIUM_PLAN_IDstringPremium plan ID
NEXT_PUBLIC_POLAR_PAYMENT_FORM_ENABLEDbooleanEnable checkout

Solidgate

VariableTypeDescription
SOLIDGATE_API_KEYstringAPI key
SOLIDGATE_SECRET_KEYstringSecret key
SOLIDGATE_WEBHOOK_SECRETstringWebhook secret
SOLIDGATE_MERCHANT_IDstringMerchant ID
SOLIDGATE_API_BASE_URLstring (URL)API base URL
NEXT_PUBLIC_SOLIDGATE_PUBLISHABLE_KEYstringClient-safe key

Product Pricing

VariableTypeDefaultDescription
NEXT_PUBLIC_PRODUCT_PRICE_FREEnumber0Free tier price
NEXT_PUBLIC_PRODUCT_PRICE_STANDARDnumber10Standard tier price
NEXT_PUBLIC_PRODUCT_PRICE_PREMIUMnumber20Premium tier price
NEXT_PUBLIC_PREMIUM_TRIAL_AMOUNT_IDstring--Premium trial amount ID
NEXT_PUBLIC_STANDARD_TRIAL_AMOUNT_IDstring--Standard trial amount ID
NEXT_PUBLIC_AUTHORIZED_TRIAL_AMOUNTbooleanfalseEnable trial amounts

Analytics & Monitoring

PostHog

VariableTypeDefaultDescription
NEXT_PUBLIC_POSTHOG_KEYstring--PostHog project API key
NEXT_PUBLIC_POSTHOG_HOSTstring (URL)https://us.i.posthog.comPostHog host
POSTHOG_DEBUGbooleanfalseEnable debug logging
POSTHOG_SESSION_RECORDING_ENABLEDbooleantrueSession recording
POSTHOG_AUTO_CAPTUREbooleanfalseAuto-capture events
POSTHOG_PERSONAL_API_KEYstring--Server-side API key
POSTHOG_PROJECT_IDstring--Project ID for analytics
POSTHOG_EXCEPTION_TRACKINGbooleantrueException tracking

Sentry

VariableTypeDefaultDescription
NEXT_PUBLIC_SENTRY_DSNstring (URL)--Sentry DSN
SENTRY_ORGstringever-coSentry organization
SENTRY_PROJECTstringever-worksSentry project name
SENTRY_AUTH_TOKENstring--Sentry auth token
SENTRY_ENABLE_DEVbooleanfalseEnable in development
SENTRY_DEBUGbooleanfalseDebug mode
SENTRY_EXCEPTION_TRACKINGbooleantrueException tracking

Other Analytics

VariableTypeDefaultDescription
EXCEPTION_TRACKING_PROVIDERstringposthogException provider (posthog or sentry)
ANALYZEbooleantrueEnable bundle analysis
NEXT_PUBLIC_RECAPTCHA_SITE_KEYstring--reCAPTCHA site key
RECAPTCHA_SECRET_KEYstring--reCAPTCHA secret key
NEXT_PUBLIC_SPEED_INSIGHTS_ENABLEDbooleanfalseVercel Speed Insights
NEXT_PUBLIC_SPEED_INSIGHTS_SAMPLE_RATEnumber0.5Speed Insights sample rate

Email

VariableTypeDefaultDescription
EMAIL_PROVIDERstringresendEmail provider (resend or novu)
EMAIL_FROMstringinfo@ever.worksFrom address for notifications
EMAIL_SUPPORTstringsupport@ever.worksSupport email address
COMPANY_NAMEstringEver WorksCompany name for email templates
RESEND_API_KEYstring--Resend API key
NOVU_API_KEYstring--Novu API key
SMTP_HOSTstring--SMTP server hostname
SMTP_PORTnumber587SMTP port
SMTP_USERstring--SMTP username
SMTP_PASSWORDstring--SMTP password

Integrations

Twenty CRM

VariableTypeDefaultDescription
TWENTY_CRM_BASE_URLstring (URL)--Twenty CRM instance URL
TWENTY_CRM_API_KEYstring--API key for authentication
TWENTY_CRM_ENABLEDbooleanfalseExplicit enable/disable
TWENTY_CRM_SYNC_MODEstringdisabledSync mode (disabled, platform, direct_crm)

Trigger.dev (Background Jobs)

VariableTypeDefaultDescription
TRIGGER_DEV_ENABLEDbooleanfalseEnable Trigger.dev
TRIGGER_DEV_API_KEYstring--API key
TRIGGER_DEV_API_URLstring (URL)--Custom API URL
TRIGGER_DEV_ENVIRONMENTstringdevelopmentEnvironment (development, staging, production)

Cron Jobs

VariableTypeDescription
CRON_SECRETstringAuthentication secret for cron endpoints

Maps & Location

VariableTypeDescription
NEXT_PUBLIC_MAPBOX_ACCESS_TOKENstringMapbox public token (pk.*)
NEXT_PUBLIC_GOOGLE_MAPS_API_KEYstringGoogle Maps browser-restricted key
NEXT_PUBLIC_GOOGLE_MAPS_MAP_IDstringGoogle Maps map ID

Ever Works Platform API

VariableTypeDefaultDescription
PLATFORM_API_URLstring (URL)https://api.ever.works/apiPlatform API URL
PLATFORM_API_SECRET_TOKENstring--Platform API authentication token

Vercel & Deployment

VariableTypeDescription
VERCEL_TOKENstringVercel personal access token
VERCEL_PROJECT_IDstringVercel project ID
VERCEL_TEAM_SCOPEstringVercel team ID
VERCEL_PLANstringPlan type (pro for 5-min cron)
VERCEL_DEPLOYMENT_IDstringCurrent deployment ID
CRON_FREQUENCYstringForce cron frequency (e.g., 5min)

Demo & Seeding

VariableTypeDefaultDescription
NEXT_PUBLIC_DEMObooleantrueEnable demo mode with sample data
SEED_ADMIN_EMAILstringadmin@changeme.comAdmin user email for seeding
SEED_ADMIN_PASSWORDstringchangeme_passwordAdmin user password for seeding
SEED_FAKE_USER_COUNTnumber10Number of fake users to generate
NODE_ENVstringdevelopmentNode environment
  • .env.example -- Template file with all variables and inline documentation
  • lib/config/schemas/*.schema.ts -- Zod validation schemas for each category
  • lib/config/config-service.ts -- Centralized validation and access
  • lib/config/client.ts -- Client-safe configuration module