Files
dbis_core/.env.example
2026-04-13 21:35:02 -07:00

86 lines
3.8 KiB
Plaintext

# DBIS Core - Environment Variables
# Copy to .env and set values. Do not commit .env.
# See: reports/API_KEYS_REQUIRED.md for sign-up URLs
# ----------------------------------------------------------------------------
# API / Server
# ----------------------------------------------------------------------------
# PORT=3000
# NODE_ENV=development
# ----------------------------------------------------------------------------
# Alerts & Monitoring (alert.service)
# ----------------------------------------------------------------------------
SLACK_WEBHOOK_URL=
PAGERDUTY_INTEGRATION_KEY=
EMAIL_ALERT_API_URL=
EMAIL_ALERT_RECIPIENTS=
# ----------------------------------------------------------------------------
# OTC (Crypto.com)
# ----------------------------------------------------------------------------
CRYPTO_COM_API_KEY=
CRYPTO_COM_API_SECRET=
# ----------------------------------------------------------------------------
# API behind reverse proxy (rate limits, logging)
# TRUST_PROXY=1
# TRUST_PROXY_HOPS=1
# When TRUST_PROXY=1, Express uses this hop count (default 1, max 10). Usually **1**: Node sees
# one reverse proxy peer (NPM or the Phoenix API hub). Raise only if another proxy terminates
# TCP in series before dbis_core (rare); validate client IP / rate limits after changing.
# ----------------------------------------------------------------------------
# IRU marketplace — rate limits (optional; sensible defaults in code)
# With TRUST_PROXY=1, limits key on real client IP from X-Forwarded-For.
# IRU_MARKETPLACE_INQUIRY_WINDOW_MS=900000
# IRU_MARKETPLACE_INQUIRY_MAX=10
# IRU_MARKETPLACE_PUBLIC_WINDOW_MS=60000
# IRU_MARKETPLACE_PUBLIC_MAX=200
# Jest disables limits when IRU_MARKETPLACE_RATE_LIMIT_IN_TEST=1 (set in tests only)
# ----------------------------------------------------------------------------
# IRU / marketplace email (notification.service)
# Default provider is SMTP (EMAIL_PROVIDER=smtp). On Proxmox LAN use the Mail Proxy VM:
# VMID 100 — 192.168.11.32 (hostname proxmox-mail-gateway) — ports 25, 587, 465
# See: proxmox repo docs/04-configuration/ALL_VMIDS_ENDPOINTS.md (Mail Proxy note)
# EMAIL_PROVIDER=smtp
# SMTP_HOST=192.168.11.32
# SMTP_PORT=587
# SMTP_SECURE=false
# Lab relay with private CA: SMTP_TLS_REJECT_UNAUTHORIZED=false
# SMTP_USER=
# SMTP_PASSWORD=
# EMAIL_FROM=noreply@yourdomain.tld
# EMAIL_FROM_NAME=SolaceNet
# DBIS_SALES_EMAIL=sales@yourdomain.tld
# Or: EMAIL_PROVIDER=sendgrid | ses (set EMAIL_API_KEY / AWS creds per integration)
# ----------------------------------------------------------------------------
# SolaceNet — gateway rails (optional enforcement)
# ----------------------------------------------------------------------------
# When 1|true, POST/GET rail adapter endpoints require capability gateway-microservices.
# SOLACENET_GATEWAY_RAILS_ENFORCE=0
# Tenant for policy checks if not in x-tenant-id / body.tenantId:
# SOLACENET_DEFAULT_TENANT_ID=system
# Optional NDJSON audit file for allow/deny (create directory; rotate externally):
# SOLACENET_GATEWAY_AUDIT_LOG_PATH=/var/log/dbis/gateway-rails-audit.ndjson
# POST .../rails/:id/validate|receive — extra per-IP limit (default 120/min):
# GATEWAY_RAIL_MUTATE_WINDOW_MS=60000
# GATEWAY_RAIL_MUTATE_MAX=120
# Jest / integration: disable rail mutate limiter
# GATEWAY_RAIL_RATE_LIMIT_IN_TEST=1
# MQ consumers: queue prefix for SolaceNet gateway guard (see gateway-mq-wrap.ts)
# SOLACENET_GATEWAY_MQ_QUEUE_PREFIX=dbis.gateway.
# Gateway outbox worker (npm run worker:gateway-outbox)
# GATEWAY_OUTBOX_BATCH_SIZE=25
# GATEWAY_OUTBOX_MAX_ATTEMPTS=10
# ----------------------------------------------------------------------------
# Other (add as needed from dbis_core code)
# ----------------------------------------------------------------------------
CHAIN138_RPC_URL=https://rpc-core.d-bis.org
# ADMIN_CENTRAL_API_KEY=
# VAULT_ROOT_TOKEN=
# etc.