# App APP_PORT=3000 APP_URL=https://api.example.com/api/v1 APP_SITE=https://example.com APP_SITE_CallBack=https://example.com/api/v1 # رشته‌ی تصادفیِ طولانی برای امضای JWT — با `openssl rand -hex 32` بساز، هیچ‌وقت # مقدار واقعی این کلید نباید داخل گیت کامیت بشه APP_SECRET=replace-with-a-long-random-hex-string NODE_ENV=production # Mongo DATABASE_URL=mongodb://username:password@localhost:27017/modstagram?authSource=admin MONGO_HOST=localhost MONGO_DBNAME=modstagram MONGO_USERNAME= MONGO_PASSWORD= MONGO_PORT=27017 # SMS (SMS.ir) SMS_SECRET= SMS_VERIFY_KEY= SMS_IR_API_KEY= SMS_IR_TEMPLATE_ID= # ZarinPal MERCHENT_CODE= ZARINPAL_MERCHANT_ID= # Instagram (Instagram API with Instagram Login — Business/Creator accounts only) # INSTAGRAM_REDIRECT_URI باید صفحه‌ی callback خودِ فرانت باشه (نه یه مسیر بک‌اند)، # دقیقاً همون redirect_uri که سمتِ کلاینت موقعِ ساختِ authorize URL استفاده می‌شه INSTAGRAM_CLIENT_ID= INSTAGRAM_APP_SECRET= INSTAGRAM_REDIRECT_URI=https://example.com/auth/instagram/callback INSTAGRAM_TOKEN_ENC_KEY= # Google OAuth GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= # SMTP for email OTP (Google users password reset) SMTP_HOST= SMTP_PORT=587 SMTP_USER= SMTP_PASS= SMTP_FROM= # Firebase Cloud Messaging (پوش نوتیفیکیشن) — Service Account JSON از Firebase Console # (Project Settings -> Service Accounts -> Generate new private key)، base64 شده FIREBASE_SERVICE_ACCOUNT_BASE64= FIREBASE_PROJECT_ID= # Redis — کش/session/rate-limit/وضعیت آنلاین (اختیاریه؛ اگه در دسترس نباشه اپ با # fallback مستقیم به Mongo/memory ادامه می‌ده، کرش نمی‌کنه) REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_PASSWORD= REDIS_DB=0