apigateway / .env.example
jebin2's picture
test
c7703f9
# =============================================================================
# API Gateway Environment Configuration
# =============================================================================
# Copy this file to .env and fill in your actual values
# Never commit the .env file to version control!
# -----------------------------------------------------------------------------
# Environment
# -----------------------------------------------------------------------------
# Options: "production" or "development"
# Affects cookie security settings and database naming
ENVIRONMENT=development
# -----------------------------------------------------------------------------
# Database
# -----------------------------------------------------------------------------
# Database name (filename will be {DB_NAME}_{ENVIRONMENT}.db)
DB_NAME=apigateway
# Reset database on startup (CAUTION: deletes all data)
# RESET_DB=true
# -----------------------------------------------------------------------------
# CORS Configuration
# -----------------------------------------------------------------------------
# Comma-separated list of allowed origins for CORS (NO SPACES!)
# IMPORTANT: Required for cookies to work with credentials
# Production example: CORS_ORIGINS=https://app.yourdomain.com,https://www.yourdomain.com
# Development example: CORS_ORIGINS=http://localhost:3000,http://localhost:5173
CORS_ORIGINS=http://localhost:3000,http://localhost:5173
# -----------------------------------------------------------------------------
# JWT Authentication
# -----------------------------------------------------------------------------
# Secret key for signing JWT tokens (REQUIRED)
# Generate with: python -c "import secrets; print(secrets.token_urlsafe(64))"
JWT_SECRET=your-secret-key-here-change-me
# JWT algorithm for token signing
JWT_ALGORITHM=HS256
# Access token expiry in minutes (short-lived, for API requests)
# Production: 5-15 minutes | Development: 30-60 minutes
JWT_ACCESS_EXPIRY_MINUTES=15
# Refresh token expiry in days (long-lived, for getting new access tokens)
# Production: 7-14 days | Development: 30-90 days
JWT_REFRESH_EXPIRY_DAYS=7
# -----------------------------------------------------------------------------
# Google OAuth
# -----------------------------------------------------------------------------
# Google OAuth Client ID for Google Sign-In
# Get from: https://console.cloud.google.com/apis/credentials
AUTH_SIGN_IN_GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com
# -----------------------------------------------------------------------------
# Admin Configuration
# -----------------------------------------------------------------------------
# Comma-separated list of admin email addresses
# Example: ADMIN_EMAILS=admin@example.com,boss@example.com
ADMIN_EMAILS=
# -----------------------------------------------------------------------------
# Payment Integration (Razorpay)
# -----------------------------------------------------------------------------
# Razorpay API credentials
# Get from: https://dashboard.razorpay.com/app/keys
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_key_secret
# Razorpay webhook secret for verifying webhook signatures
# Get from: https://dashboard.razorpay.com/app/webhooks
RAZORPAY_WEBHOOK_SECRET=your_webhook_secret
# -----------------------------------------------------------------------------
# Google Drive Backup (Optional)
# -----------------------------------------------------------------------------
# Path to Google Drive service account credentials JSON file
# Used for automatic database backups to Google Drive
# GOOGLE_DRIVE_CREDENTIALS_PATH=/path/to/credentials.json
# Google Drive folder ID where backups should be stored
# GOOGLE_DRIVE_FOLDER_ID=your_folder_id
# -----------------------------------------------------------------------------
# Gemini AI API Keys
# -----------------------------------------------------------------------------
# Comma-separated list of Gemini API keys for video generation
# Get from: https://makersuite.google.com/app/apikey
# Example: GEMINI_API_KEYS=key1,key2,key3
GEMINI_API_KEYS=your-gemini-api-key
# Number of concurrent jobs per API key (rate limiting)
JOB_PER_API_KEY=2
# Enable mock mode for testing without consuming API credits
# GEMINI_MOCK_MODE=true
# -----------------------------------------------------------------------------
# Email Configuration (Optional)
# -----------------------------------------------------------------------------
# SMTP settings for sending emails (contact form, notifications, etc.)
# SMTP_HOST=smtp.gmail.com
# SMTP_PORT=587
# SMTP_USER=your-email@gmail.com
# SMTP_PASSWORD=your-app-password
# SMTP_FROM=noreply@yourdomain.com
# -----------------------------------------------------------------------------
# Logging
# -----------------------------------------------------------------------------
# Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
LOG_LEVEL=INFO
# -----------------------------------------------------------------------------
# Server Configuration
# -----------------------------------------------------------------------------
# Server host and port (for uvicorn)
# HOST=0.0.0.0
# PORT=8000
# Number of worker processes
# WORKERS=4
# -----------------------------------------------------------------------------
# Feature Flags (Optional)
# -----------------------------------------------------------------------------
# Enable/disable specific features
# ENABLE_RATE_LIMITING=true
# ENABLE_AUDIT_LOGGING=true
# ENABLE_AUTO_BACKUP=true
# =============================================================================
# Notes
# =============================================================================
# 1. JWT_SECRET is REQUIRED - generate a secure one before deploying!
# 2. In production, set ENVIRONMENT=production for proper cookie security
# 3. CORS_ORIGINS must match your frontend domain exactly (including https://)
# 4. Never commit your .env file - it contains sensitive credentials
# 5. Keep your .env.example file updated as you add new variables