feat: add .env.example - comprehensive environment configuration template
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 <noreply@anthropic.com>
This commit is contained in:
parent
451243b1af
commit
a57d7824a3
1 changed files with 240 additions and 0 deletions
240
.env.example
Normal file
240
.env.example
Normal file
|
@ -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 <noreply@example.com>"
|
||||
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
|
Loading…
Add table
Add a link
Reference in a new issue