-
Notifications
You must be signed in to change notification settings - Fork 81
Expand file tree
/
Copy path.env.example
More file actions
103 lines (82 loc) · 4.66 KB
/
Copy path.env.example
File metadata and controls
103 lines (82 loc) · 4.66 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
# =============================================================================
# PayEasy — Environment Variables
# =============================================================================
# Copy this file to .env.local and fill in the values.
# Variables marked REQUIRED must be set for the app to start.
# Variables marked OPTIONAL have sensible defaults or disable a feature
# when omitted.
# =============================================================================
# -----------------------------------------------------------------------------
# Auth
# -----------------------------------------------------------------------------
# REQUIRED — Secret used to sign JWT tokens (lib/auth/jwt.ts). Use a long
# random string. Generate one with: openssl rand -base64 32
AUTH_SECRET=change_me_to_a_32_plus_char_random_secret
# OPTIONAL — JWT expiry duration (default: "7d")
JWT_EXPIRY=7d
# -----------------------------------------------------------------------------
# Database (Postgres via Prisma)
# -----------------------------------------------------------------------------
# REQUIRED — Postgres connection string used by Prisma for all user data.
# Use a free Neon (neon.tech) or Vercel Postgres / Supabase database.
# Neon example (note the pooled host and ?sslmode=require):
# postgresql://user:password@ep-xxx-pooler.region.aws.neon.tech/payeasy?sslmode=require
DATABASE_URL=postgresql://user:password@host:5432/payeasy?sslmode=require
# OPTIONAL — Direct (non-pooled) connection string Prisma uses for migrations.
# Neon/Supabase give you a separate non-pooled URL; if you only have one
# string, set this to the same value as DATABASE_URL.
DIRECT_URL=postgresql://user:password@host:5432/payeasy?sslmode=require
# -----------------------------------------------------------------------------
# Stellar / Blockchain
# -----------------------------------------------------------------------------
# REQUIRED — Network to connect to. Use "testnet" for local dev, "mainnet"
# for production.
NEXT_PUBLIC_STELLAR_NETWORK=testnet
# REQUIRED — Horizon REST API base URL.
# Testnet: https://horizon-testnet.stellar.org
# Mainnet: https://horizon.stellar.org
NEXT_PUBLIC_HORIZON_URL=https://horizon-testnet.stellar.org
# REQUIRED — Soroban RPC endpoint for smart contract interactions.
# Testnet: https://soroban-testnet.stellar.org
# Mainnet: https://soroban.stellar.org
NEXT_PUBLIC_SOROBAN_RPC_URL=https://soroban-testnet.stellar.org
# REQUIRED to create real (non-demo) escrows — SHA-256 hash of the deployed
# rent-escrow contract WASM, used to instantiate a fresh contract per escrow
# agreement. This is the on-chain hash of the code, not the contract ID —
# fetch it after a deploy with:
# node -e "const{rpc}=require('@stellar/stellar-sdk');const crypto=require('crypto');
# new rpc.Server('https://soroban-testnet.stellar.org').getContractWasmByContractId('<CONTRACT_ID>')
# .then(b=>console.log(crypto.createHash('sha256').update(b).digest('hex')))"
NEXT_PUBLIC_ESCROW_WASM_HASH=cfed55dc758f14af31838f9412d8981d5f2b5b513132730deb9593dd14f5ffdd
# -----------------------------------------------------------------------------
# Redis (optional — rate limiting and caching via Upstash REST)
# -----------------------------------------------------------------------------
# OPTIONAL — Upstash Redis REST endpoint and token. Omit to fall back to
# in-memory rate limiting and disable caching features.
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
# -----------------------------------------------------------------------------
# Web Push notifications (optional)
# -----------------------------------------------------------------------------
# OPTIONAL — VAPID key pair for web push. Generate with:
# npx web-push generate-vapid-keys
NEXT_PUBLIC_VAPID_PUBLIC_KEY=
VAPID_PRIVATE_KEY=
# OPTIONAL — Contact for push services, e.g. mailto:you@example.com
VAPID_SUBJECT=
# -----------------------------------------------------------------------------
# Email (optional)
# -----------------------------------------------------------------------------
# OPTIONAL — Resend API key for transactional email. Omit to disable email.
RESEND_API_KEY=
# OPTIONAL — From address used for outgoing emails.
RESEND_FROM_EMAIL=noreply@payeasy.app
# -----------------------------------------------------------------------------
# Monitoring / Analytics (optional)
# -----------------------------------------------------------------------------
# OPTIONAL — Sentry DSN for error reporting. Omit to disable Sentry
# (it only activates in production builds).
SENTRY_DSN=
# OPTIONAL — Plausible analytics domain and script source. Omit to disable.
NEXT_PUBLIC_PLAUSIBLE_DOMAIN=
NEXT_PUBLIC_PLAUSIBLE_SRC=