98 أسطر
2.8 KiB
Plaintext
98 أسطر
2.8 KiB
Plaintext
# 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
|
|
VIDEO_PROCESSING_ENABLED=false
|
|
VIDEO_PROCESSING_FFMPEG_PATH=ffmpeg
|
|
VIDEO_PROCESSING_MAX_WIDTH=1280
|
|
VIDEO_PROCESSING_MAX_FPS=30
|
|
VIDEO_PROCESSING_CRF=28
|
|
VIDEO_PROCESSING_PRESET=veryfast
|
|
VIDEO_PROCESSING_AUDIO_BITRATE_KBPS=128
|
|
VIDEO_PROCESSING_GENERATE_THUMBNAILS=true
|
|
VIDEO_PROCESSING_GENERATE_HLS=true
|
|
VIDEO_PROCESSING_HLS_SEGMENT_DURATION_SECONDS=4
|
|
VIDEO_PROCESSING_THUMBNAIL_WIDTH=720
|
|
|
|
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
|