forked from Health-watchers/health_watchers
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example.save
More file actions
160 lines (134 loc) · 6.26 KB
/
Copy path.env.example.save
File metadata and controls
160 lines (134 loc) · 6.26 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# ============================================================
# Health Watchers Environment Configuration
# ============================================================
# This file documents all required environment variables.
# Create a .env file locally by copying this and filling in values.
# NEVER commit .env to git - it's in .gitignore
# ============================================================
# API Server Configuration
# ============================================================
API_PORT=3001
NODE_ENV=development
# ============================================================
# Database Configuration (CRITICAL SECRET - ROTATE QUARTERLY)
# ============================================================
MONGO_URI=mongodb://localhost:27017/health_watchers
# ============================================================
# JWT Authentication Secrets (CRITICAL - ROTATE MONTHLY)
# ============================================================
JWT_ACCESS_TOKEN_SECRET=dev-access-token-secret-change-in-production
JWT_REFRESH_TOKEN_SECRET=dev-refresh-token-secret-change-in-production
JWT_SECRET=supersecret_change_in_production
<<<<<<< HEAD
NEXT_PUBLIC_API_URL=http://localhost:4000
=======
JWT_ISSUER=health-watchers-api
JWT_AUDIENCE=health-watchers-client
# ============================================================
# Stellar Blockchain Configuration
# ============================================================
# Port used by the stellar microservice (separate from API_PORT)
STELLAR_PORT=3002
# Base URL used by the API to call the stellar microservice
STELLAR_SERVICE_URL=http://localhost:3002
STELLAR_NETWORK=testnet
NEXT_PUBLIC_STELLAR_NETWORK=testnet
# WARNING: Server-side signing key — NEVER expose to clients or commit to git.
# The platform uses this key to sign all Stellar transactions server-side.
# Generate a testnet keypair: https://laboratory.stellar.org/#account-creator
STELLAR_SECRET_KEY=your-stellar-secret-key-testnet-only
STELLAR_PUBLIC_KEY=your-stellar-public-key
STELLAR_PLATFORM_PUBLIC_KEY=your-stellar-platform-public-key
# URL the stellar-service uses to forward confirmed payments to the API
API_WEBHOOK_URL=http://localhost:3001/api/v1/webhooks/stellar
# Comma-separated list of supported Stellar asset codes (XLM is always included)
# Example for USDC + EURC: SUPPORTED_ASSETS=XLM,USDC,EURC
SUPPORTED_ASSETS=XLM
# Mainnet safety gate — must be explicitly set to 'true' when STELLAR_NETWORK=mainnet
# Omitting this causes stellar-service to exit with code 1 on startup
# WARNING: Setting this to true will enable REAL XLM transactions on mainnet
MAINNET_CONFIRMED=false
# Maximum XLM allowed in a single transaction (default: 1000)
STELLAR_MAX_TRANSACTION_XLM=1000
# Dry-run mode — simulate transactions without submitting to the network
STELLAR_DRY_RUN=false
# ============================================================
# PHI Field-Level Encryption (HIPAA — rotate annually)
# Generate: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# ============================================================
FIELD_ENCRYPTION_KEY=replace-with-64-char-hex-string
# ============================================================
# AI/LLM Configuration
# ============================================================
GEMINI_API_KEY=your-gemini-api-key-here
# ============================================================
# CORS Configuration
# ============================================================
# Comma-separated list of allowed origins
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001
# ============================================================
# Redis — caching & distributed rate limiting
# ============================================================
# Used for response caching (patients, dashboard, ICD-10, reports) and
# distributed rate limiting across multiple API instances.
# Falls back to in-memory when not set (single-instance only).
# Example: redis://localhost:6379
REDIS_URL=
# ============================================================
# Request Body Size Limits
# ============================================================
MAX_REQUEST_BODY_SIZE=50kb
AI_REQUEST_BODY_SIZE=500kb
# ============================================================
# Application Behavior
# ============================================================
NEXT_TELEMETRY_DISABLED=1
NEXT_PUBLIC_API_URL=http://localhost:3001
# ============================================================
# Logging
# ============================================================
LOG_LEVEL=info
# ============================================================
# Email / SMTP Configuration (password reset)
# ============================================================
SMTP_HOST=localhost
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=
SMTP_PASS=
SMTP_FROM=no-reply@health-watchers.app
APP_BASE_URL=http://localhost:3000
# ============================================================
# Backup & Disaster Recovery
# ============================================================
# AES-256 passphrase for encrypting MongoDB backups (min 32 chars)
# Generate: openssl rand -base64 32
BACKUP_ENCRYPTION_KEY=replace-with-strong-passphrase-min-32-chars
# S3 bucket name for storing encrypted backups
BACKUP_BUCKET=your-backup-bucket-name
# Backup retention in days (default: 30)
BACKUP_RETENTION_DAYS=30
# ============================================================
# AWS Configuration
# ============================================================
AWS_REGION=us-east-1
ENABLE_SECRETS_MANAGER=false
# ============================================================
# Sentry — error tracking & performance monitoring
# ============================================================
SENTRY_DSN=https://your_key@oXXXXXX.ingest.sentry.io/XXXXXXX
NEXT_PUBLIC_SENTRY_DSN=https://your_key@oXXXXXX.ingest.sentry.io/XXXXXXX
SENTRY_ORG=your-sentry-org-slug
SENTRY_PROJECT=health-watchers-api
SENTRY_AUTH_TOKEN=your_sentry_auth_token
# ============================================================
# Monitoring & Observability
# ============================================================
ENV_NAME=development
# apps/api/.env
STELLAR_SERVICE_SECRET=your-super-secret-key-change-in-production
STELLAR_PORT=3002
# apps/stellar-service/.env
STELLAR_SERVICE_SECRET=your-super-secret-key-change-in-production
STELLAR_PORT=3002
>>>>>>> upstream/main