# For mobile/LAN testing set PUBLIC_BASE_URL to your machine IP, not localhost. # Example: PUBLIC_BASE_URL=http://192.168.1.12:4000 NODE_ENV=development PORT=4000 HOST=0.0.0.0 PUBLIC_BASE_URL=http://localhost:4000 RESPONSE_ENVELOPE_ENABLED=false GLOBAL_PREFIX=api/v1 # Add every frontend origin used by web/mobile debug tools. CORS_ORIGINS=http://localhost:3000,http://192.168.1.14:3000,http://192.168.1.14:5173 MONGODB_URI=mongodb://127.0.0.1:27017/oudelaa JWT_ACCESS_SECRET=change_me_access_secret JWT_ACCESS_EXPIRES_IN=15m JWT_REFRESH_SECRET=change_me_refresh_secret JWT_REFRESH_EXPIRES_IN=30d BCRYPT_SALT_ROUNDS=12 REFRESH_TOKEN_HASH_SECRET= PASSWORD_RESET_CODE_EXPIRES_MINUTES=10 PASSWORD_RESET_MAX_ATTEMPTS=5 PASSWORD_RESET_TOKEN_SECRET= PASSWORD_RESET_TOKEN_EXPIRES_IN=15m EMAIL_VERIFICATION_CODE_EXPIRES_MINUTES=10 EMAIL_VERIFICATION_MAX_ATTEMPTS=5 SWAGGER_TITLE=Oudelaa API SWAGGER_DESCRIPTION=Social media backend API documentation SWAGGER_VERSION=1.0.0 SWAGGER_PATH=docs LOG_LEVEL=log REQUEST_LOGGING_ENABLED=true FEED_CACHE_ENABLED=true FEED_CACHE_USER_TTL_SECONDS=15 FEED_CACHE_TRENDING_TTL_SECONDS=30 REDIS_ENABLED=false REDIS_URL= REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_USERNAME= REDIS_PASSWORD= REDIS_DB=0 REDIS_KEY_PREFIX=oudelaa REDIS_SOCKET_ADAPTER_ENABLED=false QUEUE_ENABLED=false QUEUE_NAME=app-jobs QUEUE_DEFAULT_ATTEMPTS=3 QUEUE_DEFAULT_BACKOFF_MS=1000 QUEUE_REMOVE_ON_COMPLETE=true QUEUE_WORKER_CONCURRENCY=5 STORAGE_PROVIDER=local STORAGE_BASE_PATH=uploads # Leave empty for local storage unless you want a dedicated CDN/base URL. STORAGE_PUBLIC_BASE_URL= S3_BUCKET= S3_REGION=auto S3_ENDPOINT= S3_ACCESS_KEY_ID= S3_SECRET_ACCESS_KEY= S3_FORCE_PATH_STYLE=false GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret # Match this to the same reachable host/IP used in PUBLIC_BASE_URL. GOOGLE_CALLBACK_URL=http://192.168.1.14:4000/api/v1/auth/google/callback EMAIL_ENABLED=false EMAIL_SMTP_HOST=smtp.gmail.com EMAIL_SMTP_PORT=587 EMAIL_SMTP_SECURE=false EMAIL_SMTP_USER= EMAIL_SMTP_PASS= EMAIL_FROM_NAME=Oudelaa EMAIL_FROM_EMAIL= AI_MUSIC_ENABLED=false AI_MUSIC_API_KEY= AI_MUSIC_PROJECT_ID= AI_MUSIC_LOCATION=us-central1 AI_MUSIC_MODEL=lyria-002 SUPERADMIN_EMAIL=admin@oudelaa.com SUPERADMIN_PASSWORD=SuperAdminStrongPass123! SUPERADMIN_ACCESS_SECRET=change_me_superadmin_access_secret SUPERADMIN_ACCESS_EXPIRES_IN=15m SUPERADMIN_REFRESH_SECRET=change_me_superadmin_refresh_secret SUPERADMIN_REFRESH_EXPIRES_IN=30d