# ================================== # Server Configuration # ================================== # Host address for the server to bind to # - Use 0.0.0.0 to accept connections from any network interface (REQUIRED for deployment platforms) # - Use 127.0.0.1 or localhost for local development only HOST=0.0.0.0 # Port number for the application server # - Default: 10000 (configured for deployment platforms like Render, Railway, Fly.io) # - Many platforms override this with their own PORT environment variable PORT=10000 # ================================== # Environment Settings # ================================== # Node environment mode # - production: Optimized for deployment with minification and performance settings # - development: Enhanced debugging and hot-reload capabilities # - test: For running automated tests NODE_ENV=production # ================================== # Optional Configuration # ================================== # Uncomment and configure as needed for your application # Database connection string # DATABASE_URL=postgresql://user:password@localhost:5432/dbname # API Keys and Secrets # API_KEY=your_api_key_here # SESSION_SECRET=your_session_secret_here # ================================== # Contact Form & Email (SMTP) # ================================== # Used by /api/contact (powers both the contact page form AND the # homepage "Tell us about your project" inline lead form). # If unset, submissions are logged to console (dev/staging mode). # # --- Required for live email delivery --- # SMTP_HOST=smtp.hostinger.com # SMTP_PORT=587 # 587 = STARTTLS (recommended) # SMTP_USER=ghanwat.ajay@workroot.in # SMTP_PASS=your_app_password_here # MARK AS SECRET in platform UI # # --- From header (RFC 5322) --- # SMTP_FROM=ghanwat.ajay@workroot.in # SMTP_FROM_NAME=Ajay Ghanwat # # --- Admin recipient for inbound submissions --- # Falls back to SMTP_FROM, then legacy CONTACT_EMAIL_TO/CONTACT_EMAIL. # MAIL_ADMIN_TO=ghanwat.ajay@workroot.in # # --- TLS & timeouts (optional, sensible defaults applied) --- # SMTP_REQUIRE_TLS=true # set to "false" to disable STARTTLS upgrade # SMTP_CONNECTION_TIMEOUT_MS=10000 # SMTP_GREETING_TIMEOUT_MS=10000 # SMTP_SOCKET_TIMEOUT_MS=10000 # # --- Legacy aliases (still honored for backwards compatibility) --- # CONTACT_EMAIL_TO=hello@workroot.in # CONTACT_EMAIL=hello@workroot.in # ================================== # Newsletter Integration # ================================== # Choose ONE provider. Leave others blank. # Option A: Mailchimp # MAILCHIMP_API_KEY=your_mailchimp_api_key # MAILCHIMP_LIST_ID=your_audience_list_id # MAILCHIMP_DC=us1 # Option B: ConvertKit # CONVERTKIT_API_KEY=your_convertkit_api_key # CONVERTKIT_FORM_ID=your_form_id # If no newsletter provider is configured, new subscribers are logged to console # and optionally emailed to CONTACT_EMAIL via SMTP (if SMTP is configured) # ================================== # Analytics and Monitoring # ================================== # Option A: Google Analytics 4 (GA4) # Format: G-XXXXXXXXXX (NOT the old UA-XXXXXXXXX-X format) # Get your Measurement ID at: Google Analytics → Admin → Data Streams → Web Stream # GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX # Option B: Plausible Analytics (privacy-focused, GDPR compliant) # Set to your site's domain (no https://) # PLAUSIBLE_DOMAIN=workroot.in # Both can be enabled simultaneously if desired. # If neither is set, no analytics scripts are injected. # Sentry error tracking (optional) # Get your DSN at https://sentry.io → Project → Settings → Client Keys (DSN) # SENTRY_DSN=https://xxx@oXXXXXX.ingest.sentry.io/XXXXXXX # Structured logging level: debug | info | warn | error (default: info in prod, debug in dev) # LOG_LEVEL=info # Application release version — used for Sentry release tracking # RELEASE_VERSION=1.0.0