APP_NAME="Whisper Money" APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=https://whisper.money.localhost APP_LOCALE=en APP_FALLBACK_LOCALE=en APP_FAKER_LOCALE=en_US # Passport OAuth signing keys for the MCP OAuth server. Leave blank to use the # keys generated by `php artisan passport:keys` under storage/. Set both (PEM # contents) to share one key pair across multiple app instances. PASSPORT_PRIVATE_KEY= PASSPORT_PUBLIC_KEY= APP_MAINTENANCE_DRIVER=file # APP_MAINTENANCE_STORE=database # PHP_CLI_SERVER_WORKERS=4 BCRYPT_ROUNDS=12 LOG_CHANNEL=stack LOG_STACK=single LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3307 DB_DATABASE=whisper_money DB_USERNAME=root DB_PASSWORD= SESSION_DRIVER=database SESSION_LIFETIME=120 SESSION_ENCRYPT=false SESSION_PATH=/ SESSION_DOMAIN=null BROADCAST_CONNECTION=log FILESYSTEM_DISK=local QUEUE_CONNECTION=database CACHE_STORE=database # CACHE_PREFIX= MEMCACHED_HOST=127.0.0.1 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6380 MAIL_MAILER=smtp MAIL_HOST=127.0.0.1 MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_FROM_ADDRESS="no-reply@whisper.money" MAIL_FROM_NAME="Whisper Money" MAIL_DRIP_FROM_ADDRESS="hi@whisper.money" MAIL_DRIP_FROM_NAME="Álvaro and Víctor" ADMIN_EMAIL= # Resend contact sync (optional, not used for sending email) RESEND_API_KEY= RESEND_LEADS_SEGMENT_ID= # Drip Emails (welcome, onboarding, promo codes, etc.) DRIP_EMAILS_ENABLED=true # Email Verification (disable in local to auto-verify new users) EMAIL_VERIFICATION_ENABLED=false # Amazon SES Email Service (set MAIL_MAILER=ses to use in production) AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_SESSION_TOKEN= AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false HIDE_AUTH_BUTTONS=false VITE_APP_NAME="${APP_NAME}" # PostHog Analytics VITE_POSTHOG_ENABLED=false VITE_POSTHOG_API_KEY= VITE_POSTHOG_HOST=https://t.whisper.money VITE_POSTHOG_UI_HOST=https://eu.posthog.com # Stripe Configuration STRIPE_KEY= STRIPE_SECRET= STRIPE_WEBHOOK_SECRET= # Subscriptions SUBSCRIPTIONS_ENABLED=false # Run `php artisan stripe:sync-prices` to create/update Stripe prices from config. # Override lookup keys only if you need to use different keys per environment. STRIPE_PRO_MONTHLY_LOOKUP_KEY=whisper_pro_monthly STRIPE_PRO_YEARLY_LOOKUP_KEY=whisper_pro_yearly # Sentry / Bugsink Error Tracking SENTRY_LARAVEL_DSN= SENTRY_TRACES_SAMPLE_RATE=1.0 SENTRY_PROFILES_SAMPLE_RATE=0 SENTRY_ENABLE_LOGS=false # Docker Service Ports (forwarded to host) FORWARD_DB_PORT=3307 FORWARD_REDIS_PORT=6380 FORWARD_MAILHOG_PORT=1025 FORWARD_MAILHOG_DASHBOARD_PORT=8025 # Dev Mode (set to false for full Docker deployment via setup.sh) DEV_MODE=true # EnableBanking (Open Banking) ENABLEBANKING_APP_ID= ENABLEBANKING_PRIVATE_KEY_PATH= ENABLEBANKING_REDIRECT_URL="${APP_URL}/open-banking/callback" # Demo Account Configuration DEMO_EMAIL=demo@whisper.money DEMO_PASSWORD=demo DEMO_ENCRYPTION_KEY=demo # AI rule suggestions (powered by laravel/ai + Gemini) GEMINI_API_KEY= GEMINI_BASE_URL= # Model is overridable without a deploy; defaults to a Flash-tier model. # GEMINI_BASE_URL is optional — leave empty to use Google AI Studio # (https://generativelanguage.googleapis.com/v1beta). Only set it for a # proxy or Vertex AI gateway. AI_SUGGESTIONS_MODEL=gemini-flash-latest AI_SUGGESTIONS_MIN_GROUP_COUNT=2 AI_SUGGESTIONS_MAX_GROUPS=40 AI_SUGGESTIONS_CONFIDENCE_FLOOR=0.3 AI_SUGGESTIONS_AUTO_SELECT=0.6 AI_SUGGESTIONS_OVERBROAD_FRACTION=0.4 AI_SUGGESTIONS_MIN_TRANSACTIONS=50 AI_SUGGESTIONS_THROTTLE_DAYS=30 AI_SUGGESTIONS_CONSENT_VERSION=1 # AI Suggestions cohort report (stats:ai-cohort-report) AI_SUGGESTIONS_REPORT_WEEKS=16 # Comma-separated staff/test emails to exclude from cohort metrics (e.g. the # account that plants the release-anchor consent on deploy). AI_SUGGESTIONS_REPORT_EXCLUDED_EMAILS= # Discord webhooks DISCORD_WEBHOOK_URL= # Optional dedicated channel for the AI cohort report; falls back to DISCORD_WEBHOOK_URL. DISCORD_AI_COHORT_WEBHOOK_URL=