From a57d7824a32f8bbcae1652916e365e7f25e0bd26 Mon Sep 17 00:00:00 2001 From: DustyWalker Date: Tue, 5 Aug 2025 16:49:02 +0200 Subject: [PATCH] feat: add .env.example - comprehensive environment configuration template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Environment variable template covering: - Application and security configuration - Database and Redis settings - Object storage (MinIO/S3) configuration - AI provider settings (OpenAI, Anthropic, etc.) - Security and antivirus (ClamAV) settings - Email and SMTP configuration - Logging and monitoring setup - Business logic and user limits - External service integrations - Development and testing options - Feature flags and toggles 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .env.example | 240 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..06e688b --- /dev/null +++ b/.env.example @@ -0,0 +1,240 @@ +# AI Bulk Image Renamer - Environment Variables Template +# Copy this file to .env and update with your actual values + +# ============================================================================= +# APPLICATION CONFIGURATION +# ============================================================================= + +# Environment (development, staging, production) +NODE_ENV=development + +# Application +APP_NAME="AI Bulk Image Renamer" +APP_VERSION=1.0.0 +APP_URL=http://localhost:3000 +APP_PORT=3000 +API_PORT=3001 + +# Application Security +APP_SECRET=your_super_secret_key_change_this_in_production +JWT_SECRET=your_jwt_secret_key_minimum_32_characters +JWT_EXPIRES_IN=7d +JWT_REFRESH_EXPIRES_IN=30d + +# Session Configuration +SESSION_SECRET=your_session_secret_key +SESSION_MAX_AGE=86400000 + +# CORS Settings +CORS_ORIGIN=http://localhost:3000,http://localhost:5173 +CORS_CREDENTIALS=true + +# ============================================================================= +# DATABASE CONFIGURATION +# ============================================================================= + +# PostgreSQL Database +DATABASE_URL=postgresql://postgres:dev_password_123@localhost:5432/ai_image_renamer_dev +POSTGRES_HOST=localhost +POSTGRES_PORT=5432 +POSTGRES_DB=ai_image_renamer_dev +POSTGRES_USER=postgres +POSTGRES_PASSWORD=dev_password_123 + +# Database Pool Settings +DB_POOL_MIN=2 +DB_POOL_MAX=10 +DB_POOL_IDLE_TIMEOUT=30000 +DB_POOL_ACQUIRE_TIMEOUT=60000 + +# ============================================================================= +# REDIS CONFIGURATION +# ============================================================================= + +# Redis Cache & Queues +REDIS_URL=redis://localhost:6379 +REDIS_HOST=localhost +REDIS_PORT=6379 +REDIS_PASSWORD= +REDIS_DB=0 + +# Redis Queue Settings +REDIS_QUEUE_DB=1 +REDIS_SESSION_DB=2 +REDIS_CACHE_DB=3 + +# Cache Settings +CACHE_TTL=3600 +CACHE_MAX_ITEMS=1000 + +# ============================================================================= +# OBJECT STORAGE (MinIO/S3) +# ============================================================================= + +# MinIO Configuration +MINIO_ENDPOINT=localhost:9000 +MINIO_ACCESS_KEY=minio_dev_user +MINIO_SECRET_KEY=minio_dev_password_123 +MINIO_USE_SSL=false +MINIO_PORT=9000 + +# S3 Buckets +S3_BUCKET_IMAGES=images +S3_BUCKET_PROCESSED=processed +S3_BUCKET_TEMP=temp +S3_REGION=us-east-1 + +# File Upload Settings +MAX_FILE_SIZE=50MB +ALLOWED_IMAGE_TYPES=jpg,jpeg,png,webp,gif,bmp,tiff +MAX_FILES_PER_BATCH=100 +UPLOAD_TIMEOUT=300000 + +# ============================================================================= +# AI & PROCESSING CONFIGURATION +# ============================================================================= + +# OpenAI Configuration +OPENAI_API_KEY=sk-your_openai_api_key_here +OPENAI_MODEL=gpt-4 +OPENAI_MAX_TOKENS=150 +OPENAI_TEMPERATURE=0.3 + +# Alternative AI Providers (optional) +ANTHROPIC_API_KEY= +GOOGLE_AI_API_KEY= +AZURE_OPENAI_ENDPOINT= +AZURE_OPENAI_API_KEY= + +# Image Processing +IMAGE_QUALITY=85 +IMAGE_MAX_WIDTH=2048 +IMAGE_MAX_HEIGHT=2048 +THUMBNAIL_SIZE=300 +WATERMARK_ENABLED=false + +# Processing Limits +MAX_CONCURRENT_JOBS=5 +JOB_TIMEOUT=600000 +RETRY_ATTEMPTS=3 +RETRY_DELAY=5000 + +# ============================================================================= +# SECURITY & ANTIVIRUS +# ============================================================================= + +# ClamAV Antivirus +CLAMAV_HOST=localhost +CLAMAV_PORT=3310 +CLAMAV_TIMEOUT=30000 +VIRUS_SCAN_ENABLED=true + +# Rate Limiting +RATE_LIMIT_WINDOW=900000 +RATE_LIMIT_MAX_REQUESTS=100 +RATE_LIMIT_SKIP_SUCCESSFUL=true + +# Security Headers +SECURITY_HSTS_MAX_AGE=31536000 +SECURITY_CONTENT_TYPE_NOSNIFF=true +SECURITY_FRAME_OPTIONS=DENY +SECURITY_XSS_PROTECTION=true + +# ============================================================================= +# EMAIL CONFIGURATION +# ============================================================================= + +# SMTP Settings +SMTP_HOST=localhost +SMTP_PORT=1025 +SMTP_SECURE=false +SMTP_USER= +SMTP_PASS= + +# Email Settings +EMAIL_FROM="AI Image Renamer " +EMAIL_REPLY_TO=support@example.com +ADMIN_EMAIL=admin@example.com + +# Email Templates +EMAIL_VERIFICATION_ENABLED=true +EMAIL_NOTIFICATIONS_ENABLED=true + +# ============================================================================= +# LOGGING & MONITORING +# ============================================================================= + +# Logging Configuration +LOG_LEVEL=info +LOG_FORMAT=combined +LOG_FILE_ENABLED=true +LOG_FILE_PATH=./logs/app.log +LOG_MAX_SIZE=10MB +LOG_MAX_FILES=5 + +# Monitoring +HEALTH_CHECK_ENABLED=true +METRICS_ENABLED=true +METRICS_PORT=9090 + +# Sentry Error Tracking (optional) +SENTRY_DSN= +SENTRY_ENVIRONMENT=development +SENTRY_RELEASE= + +# ============================================================================= +# BUSINESS LOGIC CONFIGURATION +# ============================================================================= + +# User Limits +FREE_TIER_MONTHLY_LIMIT=100 +PREMIUM_TIER_MONTHLY_LIMIT=10000 +MAX_API_CALLS_PER_MINUTE=10 + +# SEO Settings +SEO_MIN_FILENAME_LENGTH=10 +SEO_MAX_FILENAME_LENGTH=100 +SEO_INCLUDE_ALT_TEXT=true +SEO_INCLUDE_KEYWORDS=true + +# Subscription & Billing (Stripe) +STRIPE_PUBLIC_KEY=pk_test_your_stripe_public_key +STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key +STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret + +# ============================================================================= +# EXTERNAL SERVICES +# ============================================================================= + +# Google Analytics +GA_TRACKING_ID= +GA_MEASUREMENT_ID= + +# Social Login (optional) +GOOGLE_CLIENT_ID= +GOOGLE_CLIENT_SECRET= +GITHUB_CLIENT_ID= +GITHUB_CLIENT_SECRET= + +# CDN Configuration +CDN_URL= +CDN_ENABLED=false + +# ============================================================================= +# DEVELOPMENT & TESTING +# ============================================================================= + +# Development Settings +ENABLE_CORS=true +ENABLE_SWAGGER=true +ENABLE_PLAYGROUND=true +ENABLE_DEBUG_LOGS=true + +# Test Database (for running tests) +TEST_DATABASE_URL=postgresql://postgres:test_password@localhost:5432/ai_image_renamer_test + +# Feature Flags +FEATURE_BATCH_PROCESSING=true +FEATURE_AI_SUGGESTIONS=true +FEATURE_BULK_OPERATIONS=true +FEATURE_ANALYTICS=false \ No newline at end of file