-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.dev.example
More file actions
152 lines (132 loc) · 7.86 KB
/
Copy path.env.dev.example
File metadata and controls
152 lines (132 loc) · 7.86 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
# ═══════════════════════════════════════════════════════════════════════════════
# BrightChain Node — Production Environment Configuration
# ═══════════════════════════════════════════════════════════════════════════════
#
# Copy this file to .env and fill in your values.
#
# Secret generation commands (run from the repo root):
# yarn new:secret → 64-char hex string (for JWT_SECRET, MNEMONIC_HMAC_SECRET, MNEMONIC_ENCRYPTION_KEY)
# yarn new:mnemonic → BIP39 mnemonic (for ADMIN_MNEMONIC, MEMBER_MNEMONIC, SYSTEM_MNEMONIC)
# yarn new:guid → GuidV4 (for NODE_ID)
#
# ═══════════════════════════════════════════════════════════════════════════════
# ─── Node Identity ───────────────────────────────────────────────────────────
# Generate with: yarn new:guid
NODE_ID=
# ─── Server ──────────────────────────────────────────────────────────────────
API_PROTOCOL=https
PUBLIC_HOST=your-domain.org
HOST=0.0.0.0
PORT=3000
SERVER_URL=https://your-domain.org:3000
BASE_PATH=/
DEBUG=false
# ─── Features ───────────────────────────────────────────────────────────────
ENABLED_FEATURES=BrightChat,BrightHub,BrightMail,BrightPass,DigitalBurnbag,BrightChart
TOTP_AVAILABLE=true
# Joule Asset Economy
BRIGHTCHAIN_ASSETS_ENABLED=true
JOULE_ENABLED=true
# Digital Burnbag
BURNBAG_JOULE_ENABLED=true
BURNBAG_SETTLEMENT_INTERVAL_MS=60000
BURNBAG_QUOTE_TTL_MS=300000
BURNBAG_PROVIDER_SHARE_FRACTION=60
BURNBAG_OWNER_SHARE_FRACTION=10
BURNBAG_NETWORK_SHARE_FRACTION=15
BURNBAG_PROTOCOL_SHARE_FRACTION=15
# BrightHub
MAX_INLINE_IMAGES=20
MAX_IMAGE_DIMENSION=4096
BRIGHTHUB_PROFILE_LENGTH=2000
BRIGHTHUB_PROFILE_PINNED_POST=true
BRIGHTHUB_FONTAWESOME_ICON_GRID_SIZE = 40;
# BrightChat
BRIGHTHCHAT_FONTAWESOME_MAX_DISPLAY = 120;
BRIGHTHCHAT_FONTAWESOME_ICON_GRID_SIZE = 40;
# FontAwesome
FONTAWESOME_KIT_ID=
# Google Analytics
GTAG_ID=G-XXXXXXXXXX
# ─── Block Store ─────────────────────────────────────────────────────────────
# No DEV_DATABASE — production uses persistent disk storage
AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite:10000/devstoreaccount1;
AZURE_STORAGE_CONTAINER_NAME: brightchain-blocks
BRIGHTCHAIN_BLOCKSTORE_TYPE: azure
BRIGHTCHAIN_BLOCKSIZE_BYTES=512,1024,4096,1048576,67108864,268435456
MEMBER_POOL_NAME=BrightChain
USE_TRANSACTIONS=true
# ─── Email — Outbound (SES) ─────────────────────────────────────────────────
EMAIL_SERVICE=SES
EMAIL_SENDER=noreply@your-domain.org
EMAIL_DOMAIN=your-domain.org
AWS_REGION=us-west-2
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
# ─── Email — Inbound (Postfix) ──────────────────────────────────────────────
GATEWAY_POSTFIX_HOST=localhost
GATEWAY_POSTFIX_PORT=25
GATEWAY_DKIM_KEY_PATH=/etc/dkim/private.key
GATEWAY_DKIM_SELECTOR=default
GATEWAY_MAIL_DROP_DIR=/var/spool/brightchain/incoming/
GATEWAY_ERROR_DIR=/var/spool/brightchain/errors/
GATEWAY_MAX_MESSAGE_SIZE=26214400
GATEWAY_LOOKUP_PORT=2526
GATEWAY_LOOKUP_CACHE_TTL=300
# Disable test mode for production
GATEWAY_TEST_MODE=false
GATEWAY_TEST_CATCHALL=false
GATEWAY_TEST_SKIP_DKIM=false
GATEWAY_TEST_SKIP_SPAM=false
GATEWAY_TEST_ACCEPT_ALL_RECIPIENTS=false
# Enable the Email Gateway subsystem (RecipientLookupService + InboundProcessor)
GATEWAY_ENABLED=true
# ─── Anti-Spam ───────────────────────────────────────────────────────────────
# Options: spamassassin, rspamd
GATEWAY_SPAM_ENGINE=spamassassin
GATEWAY_SPAM_PROBABLE=5.0
GATEWAY_SPAM_DEFINITE=10.0
# ─── Outbound Queue ─────────────────────────────────────────────────────────
GATEWAY_QUEUE_CONCURRENCY=10
GATEWAY_RETRY_MAX_COUNT=5
GATEWAY_RETRY_MAX_DURATION=172800000
GATEWAY_RETRY_BASE_INTERVAL=60000
# ─── TLS (Let's Encrypt) ────────────────────────────────────────────────────
LETS_ENCRYPT_ENABLED=false
LETS_ENCRYPT_EMAIL=admin@your-domain.org
LETS_ENCRYPT_HOSTNAMES=your-domain.org,www.your-domain.org
LETS_ENCRYPT_STAGING=false
# ─── Secrets ─────────────────────────────────────────────────────────────────
# Generate each with: yarn new:secret
JWT_SECRET=
MNEMONIC_HMAC_SECRET=
MNEMONIC_ENCRYPTION_KEY=
# ─── Admin User ──────────────────────────────────────────────────────────────
# Generate mnemonic with: yarn new:mnemonic
# IDs are assigned by inituserdb
ADMIN_MNEMONIC=
ADMIN_PASSWORD=
# ─── Member User ─────────────────────────────────────────────────────────────
MEMBER_MNEMONIC=
MEMBER_PASSWORD=
# ─── System User ─────────────────────────────────────────────────────────────
SYSTEM_MNEMONIC=
# ─── Custom Splash Page (optional) ───────────────────────────────────────────
# Point to a directory containing your EJS templates (index.ejs, partials, routes.json)
# See docs/guides/08-custom-splash-page.md for full details
# EJS_SPLASH_ROOT=/opt/brightchain/templates
# ─── UPnP (optional — for nodes behind NAT) ─────────────────────────────────
UPNP_ENABLED=false
# UPNP_HTTP_PORT=3000
# UPNP_WEBSOCKET_PORT=3000
# UPNP_TTL=3600
# UPNP_PROTOCOL=auto
# ─── Docker Build (not needed at runtime) ───────────────────────────────────
# FONTAWESOME_NPM_AUTH_TOKEN=
# ─── Programmable Asset Ledger (Req 7.1) ─────────────────────────────────────
# Set to a non-empty value to enable. Default: off (zero behavioral change).
BRIGHTCHAIN_ASSETS_ENABLED=false
# ─── Joule Resource Credits (joule-resource-credits spec) ─────────────────────
# Set to 'true' to enable Joule credit routes and metering middleware.
# Default: off (zero behavioral change, all /joule/* routes return 503).
JOULE_ENABLED=false