0dcbe18c54
Build & Deploy / Build & Push Docker Image (push) Successful in 2m52s
Test / Type Check (all packages) (push) Successful in 57s
Build & Deploy / Deploy to VPS (push) Successful in 3s
Test / API Unit Tests (push) Successful in 48s
Test / Homepage Unit Tests (push) Successful in 43s
Test / Storefront Unit Tests (push) Successful in 45s
Test / Admin Unit Tests (push) Successful in 47s
Test / Dashboard Unit Tests (push) Successful in 42s
Test / API Integration Tests (push) Successful in 59s
Normalize dashboard API base URLs so bare API origins still call /api/v1 endpoints. Reuse the shared dashboard API base on email verification. Update production storefront URL examples to use the root domain and route footer, policy, and workspace storefront paths through Traefik.
104 lines
5.6 KiB
Bash
104 lines
5.6 KiB
Bash
# ── Traefik domains — used in docker-compose labels ──────────────────────────
|
|
ACME_EMAIL=rentaldrivego@gmail.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/storefront public routes sit at the domain root.
|
|
# Traefik routes /explore, /renter, /sign-in, /footer, and app policy pages to the storefront app.
|
|
NEXT_PUBLIC_MARKETING_URL=https://rentaldrivego.ma
|
|
NEXT_PUBLIC_MARKETPLACE_URL=https://rentaldrivego.ma
|
|
NEXT_PUBLIC_STOREFRONT_URL=https://rentaldrivego.ma
|
|
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
|