Some checks failed
Deploy to Test Environment / deploy-to-test (push) Failing after 1m10s
105 lines
3.1 KiB
Plaintext
105 lines
3.1 KiB
Plaintext
# .env.example
|
|
# ============================================================================
|
|
# ENVIRONMENT VARIABLES TEMPLATE
|
|
# ============================================================================
|
|
# Copy this file to .env and fill in your values.
|
|
# For local development with Docker/Podman, these defaults should work out of the box.
|
|
#
|
|
# IMPORTANT: Never commit .env files with real credentials to version control!
|
|
# ============================================================================
|
|
|
|
# ===================
|
|
# Database Configuration
|
|
# ===================
|
|
# PostgreSQL connection settings
|
|
# For container development, use the service name "postgres"
|
|
DB_HOST=postgres
|
|
DB_PORT=5432
|
|
DB_USER=postgres
|
|
DB_PASSWORD=postgres
|
|
DB_NAME=flyer_crawler_dev
|
|
|
|
# ===================
|
|
# Redis Configuration
|
|
# ===================
|
|
# Redis URL for caching and job queues
|
|
# For container development, use the service name "redis"
|
|
REDIS_URL=redis://redis:6379
|
|
# Optional: Redis password (leave empty if not required)
|
|
REDIS_PASSWORD=
|
|
|
|
# ===================
|
|
# Application Settings
|
|
# ===================
|
|
NODE_ENV=development
|
|
# Frontend URL for CORS and email links
|
|
FRONTEND_URL=http://localhost:3000
|
|
|
|
# ===================
|
|
# Authentication
|
|
# ===================
|
|
# REQUIRED: Secret key for signing JWT tokens (generate a random 64+ character string)
|
|
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
|
|
|
|
# OAuth Providers (Optional - enable social login)
|
|
# Google OAuth - https://console.cloud.google.com/apis/credentials
|
|
GOOGLE_CLIENT_ID=
|
|
GOOGLE_CLIENT_SECRET=
|
|
# GitHub OAuth - https://github.com/settings/developers
|
|
GITHUB_CLIENT_ID=
|
|
GITHUB_CLIENT_SECRET=
|
|
|
|
# ===================
|
|
# AI/ML Services
|
|
# ===================
|
|
# REQUIRED: Google Gemini API key for flyer OCR processing
|
|
GEMINI_API_KEY=your-gemini-api-key
|
|
|
|
# ===================
|
|
# External APIs
|
|
# ===================
|
|
# Optional: Google Maps API key for geocoding store addresses
|
|
GOOGLE_MAPS_API_KEY=
|
|
|
|
# ===================
|
|
# Email Configuration (Optional)
|
|
# ===================
|
|
# SMTP settings for sending emails (deal notifications, password reset)
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_SECURE=false
|
|
SMTP_USER=
|
|
SMTP_PASS=
|
|
SMTP_FROM_EMAIL=noreply@example.com
|
|
|
|
# ===================
|
|
# Worker Configuration (Optional)
|
|
# ===================
|
|
# Concurrency settings for background job workers
|
|
WORKER_CONCURRENCY=1
|
|
EMAIL_WORKER_CONCURRENCY=10
|
|
ANALYTICS_WORKER_CONCURRENCY=1
|
|
CLEANUP_WORKER_CONCURRENCY=10
|
|
|
|
# Worker lock duration in milliseconds (default: 2 minutes)
|
|
WORKER_LOCK_DURATION=120000
|
|
|
|
# ===================
|
|
# Error Tracking (ADR-015)
|
|
# ===================
|
|
# Sentry-compatible error tracking via Bugsink (self-hosted)
|
|
# DSNs are created in Bugsink UI at http://localhost:8000 (dev) or your production URL
|
|
# Backend DSN - for Express/Node.js errors
|
|
SENTRY_DSN=
|
|
# Frontend DSN - for React/browser errors (uses VITE_ prefix)
|
|
VITE_SENTRY_DSN=
|
|
# Environment name for error grouping (defaults to NODE_ENV)
|
|
SENTRY_ENVIRONMENT=development
|
|
VITE_SENTRY_ENVIRONMENT=development
|
|
# Enable/disable error tracking (default: true)
|
|
SENTRY_ENABLED=true
|
|
VITE_SENTRY_ENABLED=true
|
|
# Enable debug mode for SDK troubleshooting (default: false)
|
|
SENTRY_DEBUG=false
|
|
VITE_SENTRY_DEBUG=false
|