# ============================================================================== # Development Environment Configuration # ============================================================================== # This is for local development. For production/self-hosting, see .env.self-host.example # ============================================================================== # Environment & Security # ============================================================================== NODE_ENV=development JWT_SECRET=hBx9Xh8J6KOMAGAsSjvcZJBT5TWyIkFX # ============================================================================== # Application URLs # ============================================================================== # Set to 'true' for HTTPS in production (only used when auto-generating URIs from domains) USE_HTTPS=false API_URI=http://localhost:8080 DASHBOARD_URI=http://localhost:3000 LANDING_URI=http://localhost:4000 # ============================================================================== # Plunk API (Optional - for sending emails via Plunk API) # ============================================================================== # API key for authenticating with the Plunk API (obtained from dashboard) PLUNK_API_KEY= # ============================================================================== # Database & Redis # ============================================================================== REDIS_URL=redis://127.0.0.1:56379 DATABASE_URL=postgresql://postgres:postgres@localhost:55432/postgres DIRECT_DATABASE_URL=postgresql://postgres:postgres@localhost:55432/postgres # ============================================================================== # S3-compatible Storage (Minio - for file uploads) # ============================================================================== # For local development, make sure Minio is running via docker compose S3_ENDPOINT=http://localhost:9000 S3_ACCESS_KEY_ID=plunk S3_ACCESS_KEY_SECRET=plunkminiopass S3_BUCKET=uploads S3_PUBLIC_URL=http://localhost:9000/uploads S3_FORCE_PATH_STYLE=true # ============================================================================== # AWS SES (Required - for sending emails) # ============================================================================== AWS_SES_REGION=eu-north-1 AWS_SES_ACCESS_KEY_ID= AWS_SES_SECRET_ACCESS_KEY= # Configuration sets for email tracking SES_CONFIGURATION_SET=plunk-configuration-set # Default: with open/click tracking SES_CONFIGURATION_SET_NO_TRACKING=plunk-configuration-set-no-tracking # Optional: without tracking (enables toggle in UI) # Email sending rate limit (emails per second) # If not set, automatically fetches from AWS SES account quota (recommended) # Set this to override AWS quota (useful for setting lower limits or testing) # Default: Fetched from AWS (typically 14 for sandbox, higher for production accounts) # EMAIL_RATE_LIMIT_PER_SECOND=14 # ============================================================================== # OAuth (Optional - for social login) # ============================================================================== GITHUB_OAUTH_CLIENT= GITHUB_OAUTH_SECRET= GOOGLE_OAUTH_CLIENT= GOOGLE_OAUTH_SECRET= # ============================================================================== # Stripe (Optional - for billing) # ============================================================================== STRIPE_SK= STRIPE_WEBHOOK_SECRET= STRIPE_PRICE_ONBOARDING= # Optional: One-time onboarding fee price ID (e.g., price_xxxxx) STRIPE_PRICE_EMAIL_USAGE= # Required: Metered price ID for pay-per-email billing STRIPE_METER_EVENT_NAME=emails # Meter event name (API key from your Stripe meter, default: emails)