# Server Configuration PORT=8080 GIN_MODE=debug READ_TIMEOUT=15s WRITE_TIMEOUT=15s IDLE_TIMEOUT=60s SHUTDOWN_TIMEOUT=30s # Database Configuration DB_TYPE=postgres DB_HOST=localhost DB_PORT=5432 DB_USER=trackeep DB_PASSWORD=your_password_here DB_NAME=trackeep DB_SSL_MODE=disable # Docker Compose Database (used by docker-compose.yml) POSTGRES_DB=trackeep POSTGRES_USER=trackeep POSTGRES_PASSWORD=your_secure_password_here # JWT Configuration # JWT_SECRET is used for both JWT token signing and 2FA backup codes encryption # Must be exactly 64 hexadecimal characters (32 bytes when decoded) # Generate with: openssl rand -hex 32 # Or with Node.js: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" # Or with Python: python3 -c "import secrets; print(secrets.token_hex(32))" JWT_SECRET=your_jwt_secret_here_64_hex_characters_long_exactly JWT_EXPIRES_IN=24h # Encryption Configuration # Now uses JWT_SECRET for encryption - no separate ENCRYPTION_KEY needed # This ensures 2FA backup codes are encrypted with the same key used for JWT tokens # File Upload Configuration UPLOAD_DIR=./uploads MAX_FILE_SIZE=10485760 # CORS Configuration CORS_ALLOWED_ORIGINS=* # Demo Mode Configuration VITE_DEMO_MODE=false # AI Services Configuration # AI services are now configured only within the Trackeep application # No environment variables needed - configure tokens and settings in the app settings # ============================================================================= # REDIS CONFIGURATION (Optional but Recommended) # ============================================================================= # Redis provides caching, session storage, rate limiting, and real-time features # Uncomment and configure these to enable Redis support # REDIS_ADDR=redis:6379 # REDIS_PASSWORD=your_secure_redis_password_here # REDIS_DB=0 # REDIS_POOL_SIZE=20 # REDIS_DIAL_TIMEOUT=5s # REDIS_READ_TIMEOUT=3s # REDIS_WRITE_TIMEOUT=3s # Feature Flags - Enable/disable Redis features # REDIS_SESSIONS_ENABLED=true # REDIS_CACHE_ENABLED=true # REDIS_RATELIMIT_ENABLED=true # REDIS_PUBSUB_ENABLED=true # Redis Memory Settings (for Docker Compose) # REDIS_MAXMEMORY=256mb # REDIS_MAXMEMORY_POLICY=allkeys-lru # ============================================================================= # PERFORMANCE TUNING # ============================================================================= # Enable these settings for better performance with Redis caching # Cache TTL settings (in seconds) # SEARCH_CACHE_TTL=300 # ANALYTICS_CACHE_TTL=900 # USER_CACHE_TTL=900 # SESSION_CACHE_TTL=86400 # 24 hours # Rate limiting settings # RATE_LIMIT_REQUESTS_PER_MINUTE=100 # RATE_LIMIT_BURST_SIZE=150 # AI_RATE_LIMIT_REQUESTS_PER_MINUTE=20 # UPLOAD_RATE_LIMIT_REQUESTS_PER_MINUTE=10 # ============================================================================= # NOTE: Redis Deployment # ============================================================================= # To deploy with Redis, add the Redis service to your docker-compose.yml: # # redis: # image: redis:7-alpine # restart: unless-stopped # volumes: # - redis_data:/data # - ./redis.conf:/usr/local/etc/redis/redis.conf:ro # command: redis-server /usr/local/etc/redis/redis.conf # environment: # - REDIS_PASSWORD=${REDIS_PASSWORD} # networks: # - trackeep-network # # And add to volumes: redis_data: