-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
89 lines (78 loc) · 4.19 KB
/
Copy path.env.example
File metadata and controls
89 lines (78 loc) · 4.19 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
# ─────────────────────────────────────────────────────────────
# ADAplug environment — copy to .env and fill in.
# Never commit a real .env. All secrets stay server-side.
# ─────────────────────────────────────────────────────────────
# ── App ────────────────────────────────────────────────────────
NODE_ENV=development
WEB_PORT=3000
API_PORT=4000
PUBLIC_WEB_URL=http://localhost:3000
PUBLIC_API_URL=http://localhost:4000
# Server-side only: the web BFF uses this key to call /api/v1. Never exposed to
# the browser. Mint one for an internal "web" user. Unset => pages show empty
# states instead of live data.
ADAPLUG_INTERNAL_API_KEY=
# ── CROW node (EXISTING, external — we attach, never boot it) ──
# Path to the node-to-client Unix socket on the node host.
CROW_NODE_SOCKET_PATH=/ipc/node.socket
CROW_NODE_HOST=crow-node.internal
# mainnet network magic
CROW_NODE_NETWORK_MAGIC=764824073
# ── PostgreSQL + TimescaleDB (db-sync target + app data) ───────
# Runs on its OWN host/storage, isolated from the CROW node.
# Host-published port is 55432 to avoid clashing with other local
# Postgres containers; INSIDE the compose network the port is 5432.
POSTGRES_HOST=localhost
POSTGRES_PORT=55433
POSTGRES_USER=adaplug
POSTGRES_PASSWORD=adaplug
POSTGRES_DB=adaplug
DATABASE_URL=postgresql://adaplug:adaplug@localhost:55433/adaplug
# db-sync uses its own DB (isolated). Same cluster, separate db.
DBSYNC_POSTGRES_DB=cexplorer
DBSYNC_DATABASE_URL=postgresql://adaplug:adaplug@localhost:55433/cexplorer
# ── Redis (cache, rate limits, pub/sub, realtime fan-out) ──────
# Host-published port 16379 to avoid clashing with other local Redis.
REDIS_PORT=16379
REDIS_URL=redis://localhost:16379
# ── Chain followers ────────────────────────────────────────────
OGMIOS_URL=ws://localhost:1337
# Kupo powers live DEX prices (fast pool-UTxO reads the Koios API can't do).
# Point at the CROW node's Kupo once exposed (e.g. https://api.your-node.example/kupo).
# When set + healthy, the ingestor prices every pooled token each cycle.
KUPO_URL=http://localhost:1442
KUPO_API_TOKEN=
# ── Provider router (self-hosted first; paid behind flags+caps)─
PROVIDER_PRIORITY=crow,koios,blockfrost
# Point KOIOS_URL at the CROW node's SELF-HOSTED Koios REST endpoint to make it
# the primary spine (no rate limits, no whale-token 504s). Falls back to the
# public Koios if left as the default. Include the /api/v1 suffix.
KOIOS_URL=https://api.koios.rest/api/v1
# Optional bearer token if the self-hosted Koios requires auth.
KOIOS_API_TOKEN=
# Blockfrost — convenience fallback ONLY. Flag-gated + spend cap.
BLOCKFROST_ENABLED=false
BLOCKFROST_PROJECT_ID=
BLOCKFROST_NETWORK=mainnet
# Hard monthly spend cap (USD). Paid providers disable when hit.
PAID_PROVIDER_MONTHLY_CAP_USD=50
# Optional enrichment, flag-gated + capped.
DEXHUNTER_ENABLED=false
MAESTRO_ENABLED=false
MAESTRO_API_KEY=
# ── Stripe (hosted Checkout/Billing/webhooks — never raw cards)─
STRIPE_SECRET_KEY=sk_test_xxx
STRIPE_PUBLISHABLE_KEY=pk_test_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
STRIPE_PRICE_PRO_MONTHLY=price_xxx
STRIPE_PRICE_PRO_YEARLY=price_xxx
STRIPE_PRICE_API_BUILDER=price_xxx
STRIPE_PRICE_API_BUSINESS=price_xxx
# ── Auth / sessions (CIP-8 signed-nonce login) ─────────────────
SESSION_SECRET=change-me-32-bytes-minimum-please
JWT_SECRET=change-me-too-32-bytes-minimum
# ── Alerts ─────────────────────────────────────────────────────
TELEGRAM_BOT_TOKEN=
SMTP_URL=
# ── Misc ───────────────────────────────────────────────────────
LOG_LEVEL=info