df83c9876d
Build & Deploy / Build & Push Docker Image (push) Failing after 1m7s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / Type Check (all packages) (push) Failing after 33s
Test / API Unit Tests (push) Has been skipped
Test / Homepage Unit Tests (push) Has been skipped
Test / Storefront Unit Tests (push) Has been skipped
Test / Admin Unit Tests (push) Has been skipped
Test / Dashboard Unit Tests (push) Has been skipped
Test / API Integration Tests (push) Has been skipped
103 lines
5.5 KiB
Bash
103 lines
5.5 KiB
Bash
# ── 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
|
|
REGISTRY_DOMAIN=registry.rentaldrivego.ma
|
|
REGISTRY_UPSTREAM_URL=http://10.0.0.10:5000
|
|
|
|
# ── Optional prebuilt image source ────────────────────────────────────────────
|
|
# Used for pull-based deployments. CI injects APP_IMAGE and APP_VERSION
|
|
# automatically during registry-backed deploys, so these can stay commented out.
|
|
# APP_IMAGE=registry.example.com/rentaldrivego/car_management_system
|
|
# APP_VERSION=latest
|
|
REGISTRY_HOST=registry.rentaldrivego.ma
|
|
REGISTRY_USER=rentaldrivego_registry
|
|
REGISTRY_PASSWORD=placeholder
|
|
REGISTRY_IMAGE=registry.rentaldrivego.ma/rentaldrivego/car_management_system
|
|
REGISTRY_HTTP_SECRET=placeholder
|
|
|
|
# ── Database ──────────────────────────────────────────────────────────────────
|
|
# Full connection URL (used when DATABASE_URL_FROM_POSTGRES=false)
|
|
DATABASE_URL=postgresql://placeholder:placeholder@placeholder:5432/placeholder
|
|
# Build the URL from individual vars (set to true to use POSTGRES_* vars below)
|
|
DATABASE_URL_FROM_POSTGRES=true
|
|
POSTGRES_HOST=postgres
|
|
POSTGRES_PORT=5432
|
|
POSTGRES_DB=rentaldrivego
|
|
POSTGRES_USER=postgres
|
|
POSTGRES_PASSWORD=placeholder
|
|
|
|
|
|
# ── Cache ─────────────────────────────────────────────────────────────────────
|
|
REDIS_URL=redis://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_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=placeholder
|
|
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)
|
|
MAIL_HOST=smtp.gmail.com
|
|
MAIL_PORT=587
|
|
MAIL_SCHEME=smtp
|
|
MAIL_USERNAME=rentaldrivego@gmail.com
|
|
MAIL_PASSWORD=placeholder
|
|
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
|