-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy path.env.example
More file actions
85 lines (73 loc) · 3.96 KB
/
Copy path.env.example
File metadata and controls
85 lines (73 loc) · 3.96 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
# ---------------------------------------------------------------------------
# MergeFi Backend — Environment Configuration
# Copy this file to `.env` and fill in real values for local development.
#
# When NODE_ENV=production the app refuses to start unless every one of
# JWT_SECRET, DATABASE_URL, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET,
# GITHUB_WEBHOOK_SECRET, ESCROW_CONTRACT_ID and TREASURY_SECRET is set to a
# real (non-default, non-empty) value — see src/config/validate-required-config.ts.
# ---------------------------------------------------------------------------
# --- App ---------------------------------------------------------------
NODE_ENV=development
PORT=3000
# Public URL of this API, used to build OAuth callback / webhook URLs
APP_URL=http://localhost:3000
# Frontend URL, used for CORS + OAuth redirect back to the SPA
FRONTEND_URL=http://localhost:3001
# --- Database (PostgreSQL via TypeORM) ----------------------------------
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/mergefi
# Set to true only for local bootstrapping; use migrations in production
DATABASE_SYNCHRONIZE=false
DATABASE_LOGGING=false
# --- Auth / JWT ----------------------------------------------------------
JWT_SECRET=change-me-to-a-long-random-string
JWT_EXPIRES_IN=7d
# --- GitHub OAuth (login) -------------------------------------------------
# Create an OAuth App at https://github.com/settings/developers
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_OAUTH_CALLBACK_URL=http://localhost:3000/api/auth/github/callback
# --- GitHub App / REST sync (Octokit) -------------------------------------
# Personal access token or GitHub App installation token used for repo sync.
# TODO: migrate to a GitHub App installation token flow for multi-org support.
GITHUB_API_TOKEN=
# --- GitHub Webhooks -------------------------------------------------------
# Secret configured on the GitHub repo/organization webhook. Used to verify
# the `X-Hub-Signature-256` HMAC-SHA256 header on every incoming webhook.
GITHUB_WEBHOOK_SECRET=change-me-webhook-secret
# --- Stellar / Soroban -----------------------------------------------------
# "testnet" | "futurenet" | "mainnet"
STELLAR_NETWORK=testnet
SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
# Network passphrase must match STELLAR_NETWORK; testnet default shown.
STELLAR_NETWORK_PASSPHRASE=Test SDF Network ; September 2015
# mergefi-contracts is deployed to Stellar testnet; see that repo's README
# for the current contract IDs. Leave blank to run escrow calls in "dry
# run" mode (persisted locally, no on-chain effect) instead.
ESCROW_CONTRACT_ID=
# Optional separate contract for maintenance-pool escrows; falls back to
# ESCROW_CONTRACT_ID when unset. EscrowService targets this for pool
# fund/release/refund calls (#157).
MAINTENANCE_POOL_CONTRACT_ID=
# Soroban token (SAC) contract addresses for each supported asset. Passed as
# the required `token` argument to escrow::fund (#158). Leave blank when no
# contracts are deployed (calls dry-run regardless).
USDC_TOKEN_CONTRACT_ID=
XLM_TOKEN_CONTRACT_ID=
# Fallback escrow deadline (seconds from fund time) used as escrow::fund's
# `deadline` argument when the funding bounty/milestone has none of its own.
# Default: 7776000 (90 days).
ESCROW_DEADLINE_SECONDS=7776000
# Treasury / platform account that pays transaction fees and can act as a
# fallback signer for automated (non-custodial) release/refund operations.
# TODO: replace with a proper signing service (KMS / multi-sig) before
# handling real funds.
TREASURY_SECRET=
# --- Analytics ---------------------------------------------------------
# In-process TTL (ms) for GET /analytics/platform. Also invalidated when a
# bounty is created/paid or a repository is first synced. Default 60000.
# Per-process: multi-instance deploys may serve up to one TTL of stale data.
ANALYTICS_PLATFORM_SUMMARY_TTL_MS=60000
# --- Misc --------------------------------------------------------------
# NestJS log verbosity: error | warn | log | debug | verbose
LOG_LEVEL=debug