# ── Traefik domains — used in docker-compose labels ────────────────────────── ACME_EMAIL=ops@example.com API_DOMAIN=api.rentaldrivego.ma PUBLIC_SITE_DOMAIN=rentaldrivego.ma PGMANAGE_DOMAIN=pgmanage.rentaldrivego.ma PORTAINER_DOMAIN=portainer.rentaldrivego.ma # ── Optional prebuilt image source ──────────────────────────────────────────── # Used for production deployments. CI injects IMAGE_TAG automatically during # registry-backed deploys; set it manually when running docker compose directly. IMAGE_TAG=latest # APP_IMAGE and APP_VERSION are still accepted by helper scripts for compatibility. # APP_IMAGE=registry.example.com/rentaldrivego/car_management_system # APP_VERSION=latest # ── Database ────────────────────────────────────────────────────────────────── # Full connection URL (used when DATABASE_URL_FROM_POSTGRES=false) # Build the URL from individual vars (set to true to use POSTGRES_* vars below) DATABASE_URL=postgresql://dbadmin:PMPS5k0D7rUeJOk0NkhI5bRtoGjkUqjK@localhost:5432/rentaldrivego DATABASE_URL_FROM_POSTGRES=true POSTGRES_HOST=postgres POSTGRES_PORT=5432 POSTGRES_DB=rentaldrivego POSTGRES_USER=dbadmin POSTGRES_PASSWORD=PMPS5k0D7rUeJOk0NkhI5bRtoGjkUqjK # ── Cache ───────────────────────────────────────────────────────────────────── REDIS_PASSWORD=PMPS5k0D7rUeJOk0NkhI5bRtoGjkUqjK REDIS_URL=redis://:PMPS5k0D7rUeJOk0NkhI5bRtoGjkUqjK@redis:6379 # ── API ─────────────────────────────────────────────────────────────────────── API_PORT=4000 # SSR server-side calls go via the internal Docker network API_INTERNAL_URL=http://api:4000/api/v1 # Next.js rewrites between the marketplace and internal apps also use Docker-network URLs DASHBOARD_INTERNAL_URL=http://dashboard:3001 ADMIN_INTERNAL_URL=http://admin:3002 # Public-facing API URL visible to browsers — MUST be your real domain, not localhost API_URL=https://api.rentaldrivego.ma # Baked into Next.js bundles at build time — MUST be set before running `npm run build` NEXT_PUBLIC_API_URL=https://api.rentaldrivego.ma/api/v1 # ── Frontend public URLs ────────────────────────────────────────────────────── # SITE_ORIGIN is the canonical public origin for robots.txt, sitemap, and metadata. # Required for production builds. Must be an absolute https:// URL with no trailing slash. SITE_ORIGIN=https://rentaldrivego.ma # Marketplace sits at the domain root (Traefik routes /dashboard and /admin to their apps) NEXT_PUBLIC_MARKETING_URL=https://rentaldrivego.ma NEXT_PUBLIC_MARKETPLACE_URL=https://rentaldrivego.ma NEXT_PUBLIC_STOREFRONT_URL=https://rentaldrivego.ma/storefront NEXT_PUBLIC_DASHBOARD_URL=https://rentaldrivego.ma/dashboard NEXT_PUBLIC_ADMIN_URL=https://rentaldrivego.ma/admin NEXT_PUBLIC_HOMEPAGE_URL=https://rentaldrivego.ma NEXT_PUBLIC_PUBLIC_SITE_DOMAIN=rentaldrivego.ma DASHBOARD_URL=https://rentaldrivego.ma/dashboard ADMIN_URL=https://rentaldrivego.ma/admin # ── CORS ────────────────────────────────────────────────────────────────────── # Comma-separated list of allowed browser origins. REQUIRED in production. CORS_ORIGINS=https://rentaldrivego.ma,https://www.rentaldrivego.ma # ── Auth ────────────────────────────────────────────────────────────────────── JWT_SECRET=eb9ab3eb5d6648bdb82cbef29afde498c58f089829a037dfea6cb5e98ef2aae0 JWT_EXPIRY=8h RENTER_JWT_EXPIRY=7d NODE_ENV=production # ── Email ───────────────────────────────────────────────────────────────────── EMAIL_FROM=rentaldrivego@gmail.com EMAIL_FROM_NAME=RentalDriveGo # Option A — Resend #RESEND_API_KEY=C8qPDuFwsv5l@KsGhL/V # Option B — SMTP (Gmail) # SMTP fallback (only used if Resend fails or is unconfigured) MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_SCHEME=smtp MAIL_USERNAME=rentaldrivego@gmail.com MAIL_PASSWORD=kfahihfzbcvkczew MAIL_FROM_ADDRESS=rentaldrivego@gmail.com MAIL_FROM_NAME=RentalDriveGo MAIL_REPLY_TO_ADDRESS=rentaldrivego@gmail.com MAIL_REPLY_TO_NAME=RentalDriveGo # ── Firebase push notifications (optional) ──────────────────────────────────── # FIREBASE_PROJECT_ID=your-firebase-project-id # FIREBASE_CLIENT_EMAIL=firebase-adminsdk@your-project.iam.gserviceaccount.com # FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n" # ── Twilio SMS / WhatsApp (optional) ───────────────────────────────────────── # TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # TWILIO_AUTH_TOKEN=your_auth_token # TWILIO_PHONE_NUMBER=+1234567890 # TWILIO_WHATSAPP_NUMBER=+1234567890