69 lines
1.8 KiB
Plaintext
69 lines
1.8 KiB
Plaintext
|
|
# ====== Core ======
|
||
|
|
NODE_ENV=production
|
||
|
|
|
||
|
|
# ====== Frontend (Next.js) ======
|
||
|
|
NEXT_PUBLIC_APP_NAME=Customer Portal
|
||
|
|
NEXT_PUBLIC_APP_VERSION=1.0.0
|
||
|
|
# If using Plesk single domain with /api proxied to backend, set to your main domain
|
||
|
|
# Example: https://portal.example.com or https://example.com
|
||
|
|
NEXT_PUBLIC_API_BASE=https://CHANGE_THIS
|
||
|
|
|
||
|
|
# ====== Backend (NestJS BFF) ======
|
||
|
|
BFF_PORT=4000
|
||
|
|
APP_BASE_URL=https://CHANGE_THIS
|
||
|
|
|
||
|
|
# ====== Database (PostgreSQL) ======
|
||
|
|
POSTGRES_DB=portal_prod
|
||
|
|
POSTGRES_USER=portal
|
||
|
|
POSTGRES_PASSWORD=CHANGE_THIS
|
||
|
|
|
||
|
|
# Prisma style DATABASE_URL for Postgres inside Compose network
|
||
|
|
# For Plesk Compose, hostname is the service name 'database'
|
||
|
|
DATABASE_URL=postgresql://portal:${POSTGRES_PASSWORD}@database:5432/${POSTGRES_DB}?schema=public
|
||
|
|
|
||
|
|
# ====== Redis ======
|
||
|
|
REDIS_URL=redis://cache:6379/0
|
||
|
|
|
||
|
|
# ====== Security ======
|
||
|
|
JWT_SECRET=CHANGE_THIS
|
||
|
|
JWT_EXPIRES_IN=7d
|
||
|
|
BCRYPT_ROUNDS=12
|
||
|
|
|
||
|
|
# ====== CORS ======
|
||
|
|
# If portal: https://portal.example.com ; if root domain: https://example.com
|
||
|
|
CORS_ORIGIN=https://CHANGE_THIS
|
||
|
|
|
||
|
|
# ====== External APIs (optional) ======
|
||
|
|
WHMCS_BASE_URL=
|
||
|
|
WHMCS_API_IDENTIFIER=
|
||
|
|
WHMCS_API_SECRET=
|
||
|
|
SF_LOGIN_URL=
|
||
|
|
SF_CLIENT_ID=
|
||
|
|
SF_PRIVATE_KEY_PATH=/app/secrets/salesforce.key
|
||
|
|
SF_USERNAME=
|
||
|
|
|
||
|
|
# ====== Logging ======
|
||
|
|
LOG_LEVEL=info
|
||
|
|
LOG_FORMAT=json
|
||
|
|
|
||
|
|
# ====== Email (SendGrid) ======
|
||
|
|
# API key: https://app.sendgrid.com/settings/api_keys
|
||
|
|
SENDGRID_API_KEY=
|
||
|
|
# From address for outbound email
|
||
|
|
EMAIL_FROM=no-reply@yourdomain.com
|
||
|
|
EMAIL_FROM_NAME=Assist Solutions
|
||
|
|
# Master email switch
|
||
|
|
EMAIL_ENABLED=true
|
||
|
|
# Queue emails for async delivery (recommended)
|
||
|
|
EMAIL_USE_QUEUE=true
|
||
|
|
# Enable SendGrid sandbox mode (use true in non-prod to avoid delivery)
|
||
|
|
SENDGRID_SANDBOX=false
|
||
|
|
# Optional: dynamic template IDs (use {{resetUrl}} for reset template)
|
||
|
|
EMAIL_TEMPLATE_RESET=
|
||
|
|
EMAIL_TEMPLATE_WELCOME=
|
||
|
|
|
||
|
|
# ====== Node options ======
|
||
|
|
NODE_OPTIONS=--max-old-space-size=512
|
||
|
|
|
||
|
|
|