# Core local development APP_NAME=ToolCTRL Local DATABASE_URL="file:./dev.db?connection_limit=1&connect_timeout=30" SESSION_SECRET=replace-with-local-session-secret CRYPTO_SECRET=replace-with-local-crypto-secret APP_BASE_DOMAIN=localhost:3000 WEB_APP_HOST=app.localhost:3000 ADMIN_APP_HOST=admin.localhost:3000 API_HOST=api.localhost:3001 APP_PROTOCOL=http # Legacy API/auth tokens API_ACCESS_TOKEN=replace-with-local-api-token JWT_SECRET=replace-with-local-jwt-secret # Local convenience SEED_DEMO_DATA=true # Matches the local seed admin only; ignored outside NODE_ENV=development. DEMO_USER=admin@email.com:password # WEBHOOKS_URL=https://...ngrok-free.app # Optional local providers; MailerSend is the default transactional runtime provider # STORAGE_ENDPOINT= # STORAGE_REGION= # STORAGE_BUCKET= # STORAGE_ACCESS_KEY_ID= # STORAGE_SECRET_ACCESS_KEY= # STORAGE_SESSION_TOKEN= # STORAGE_PUBLIC_BASE_URL= # STORAGE_FORCE_PATH_STYLE=false # STRIPE_SK= # STRIPE_ACCOUNT_COUNTRY=US # MAILJET_API_KEY= # MAILJET_SECRET_KEY= # MAILJET_FROM_EMAIL= # MAILJET_FROM_NAME= # WORKER_ENABLED=false # EXPORT_RETENTION_QUEUE_ENABLED=false # IMPORT_QUEUE_ENABLED=false # BULLMQ_REDIS_URL=redis://localhost:6379/0 # REDIS_URL is a fallback only when BULLMQ_REDIS_URL is absent; keep it commented if a platform injects it. # REDIS_URL=redis://localhost:6379/0 # BROWSER_RUNTIME_URL= # BROWSER_RUNTIME_API_KEY= # BROWSER_SESSION_TIMEOUT_MS=60000 # ANALYTICS_TOKEN= # SITE_KEY_EXAMPLE_SITE=