Repository navigation
Expand file tree
/
Copy path.env.docker.example
More file actions
98 lines (79 loc) · 3.75 KB
/
Copy path.env.docker.example
File metadata and controls
98 lines (79 loc) · 3.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# -----------------------------------------------------------------------------
# Navin Backend — environment template (alphabetized)
# See docs/environment-variables.md for the full implemented-vs-required matrix.
# -----------------------------------------------------------------------------
# Comma-separated browser origins allowed by CORS (empty = none beyond defaults)
ALLOWED_ORIGINS=http://localhost:3000
# Legacy single CORS origin fallback (* = allow all)
CORS_ORIGIN=*
# Deployed frontend base URL (invite + password-reset links)
FRONTEND_URL=http://localhost:5173
# JWT signing secret (required, min 32 characters)
JWT_SECRET=replace-this-with-a-strong-32-char-minimum-jwt-secret
# TOTP 2FA encryption key — 64 hex characters (32 bytes, AES-256).
# Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# Optional in development (falls back to JWT_SECRET hash); required in production.
TOTP_ENCRYPTION_KEY=
# Pino log level (optional; not validated in env.ts) — debug|info|warn|error
LOG_LEVEL=debug
# MongoDB connection string (required)
MONGO_URI=mongodb://127.0.0.1:27017/navin_dev
# docker compose runs Mongo with auth; override the defaults (navin / navin-dev-password):
# MONGO_INITDB_ROOT_USERNAME=navin
# MONGO_INITDB_ROOT_PASSWORD=change-me
# Runtime mode: development | test | production
NODE_ENV=development
# HTTP listen port
PORT=3000
# Redis URL for BullMQ, SSE, and caches
REDIS_URL=redis://127.0.0.1:6379
# --- SendGrid (optional email relay; preferred over raw SMTP when set) ---
SENDGRID_API_KEY=
# --- Sentry (optional; validated but SDK not wired yet — TODO) ---
SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0
# --- SMTP (optional email — used by src/services/email.service.ts) ---
SMTP_FROM=noreply@example.com
SMTP_HOST=smtp.example.com
SMTP_PASS=smtp-password
SMTP_PORT=587
SMTP_USER=you@example.com
# --- S3 object storage (optional — for AWS S3, MinIO, etc.) ---
S3_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
S3_BUCKET=my-bucket
S3_ENDPOINT=https://s3.amazonaws.com
S3_REGION=us-east-1
S3_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
# --- Storage provider selection ---
# Options: mock (default), s3, r2, cloudinary
# mock: Local development without cloud credentials
# s3: AWS S3 or S3-compatible (use S3_* vars above)
# r2: Cloudflare R2 (use S3_* vars, set S3_ENDPOINT to R2 URL)
# cloudinary: Cloudinary CDN (image-optimized)
STORAGE_PROVIDER=mock
# --- Cloudinary storage (optional — for image optimization) ---
CLOUDINARY_CLOUD_NAME=my-cloud
CLOUDINARY_API_KEY=my-api-key
CLOUDINARY_API_SECRET=my-api-secret
# --- Soroban / escrow ---
# Adapter to use for escrow/hash-emit operations.
# Options: simulated (default, no credentials needed) | soroban (live Soroban RPC)
SOROBAN_ADAPTER=simulated
# Required when SOROBAN_ADAPTER=soroban:
ESCROW_CONTRACT_ID=CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD2B
# Overrides the Soroban RPC URL derived from STELLAR_NETWORK below
SOROBAN_RPC_URL=https://soroban-rpc.example.com
# ChainAdapter implementation: simulated (default) | soroban (not available yet — TODO K2)
SOROBAN_ADAPTER=simulated
# --- Stellar ---
# Network: testnet | public — also selects the default Horizon/Soroban RPC URLs below
STELLAR_NETWORK=testnet
# Horizon signing secret (required for anchoring jobs)
STELLAR_SECRET_KEY=SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
# HMAC secret for /api/webhooks/stellar (min 16 chars)
STELLAR_WEBHOOK_SECRET=replace-this-with-a-strong-random-secret
# Optional — overrides the Horizon URL derived from STELLAR_NETWORK
# HORIZON_URL=https://horizon-testnet.stellar.org
# --- Twilio SMS (optional — TODO SMS OTP client; see #364) ---
TWILIO_FROM=+15551234567
TWILIO_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_TOKEN=your-twilio-auth-token