75 lines
4.2 KiB
Plaintext
75 lines
4.2 KiB
Plaintext
# ─────────────────────────────────────────────────────────────────────
|
||
# Production .env template для CryptoWallet API.
|
||
# Скопируй: cp .env.example .env && chmod 600 .env && nano .env
|
||
# ─────────────────────────────────────────────────────────────────────
|
||
|
||
# ─── HashiCorp Vault (для master-key, JWT public keys, CSRF secret) ──
|
||
VAULT_ADDR=https://vault.your-domain.com
|
||
VAULT_ROLE_ID=00000000-0000-0000-0000-000000000000
|
||
VAULT_SECRET_ID=00000000-0000-0000-0000-000000000000
|
||
VAULT_MOUNT_POINT=dev-secrets
|
||
VAULT_SECRET_PATH=crypto/master
|
||
VAULT_JWT_KID_PATH=jwt/kid
|
||
VAULT_JWT_KIDS_PREFIX=jwt/kids/
|
||
VAULT_CSRF_PATH=csrf
|
||
VAULT_CRYPTO_KEY_PATH=crypto/master
|
||
|
||
# ─── JWT (приём от bitok external issuer) ────────────────────────────
|
||
JWT_ALGORITHM=RS256
|
||
JWT_ISSUER=bitok
|
||
JWT_AUDIENCE=cryptowallet-api
|
||
|
||
# ─── API runtime ─────────────────────────────────────────────────────
|
||
API_PORT=3001
|
||
LOG_LEVEL=info
|
||
|
||
# CORS — comma-separated list разрешённых origins (фронтенд hosts)
|
||
CORS_ORIGINS=https://app.your-domain.com,https://admin.your-domain.com
|
||
CORS_ALLOW_CREDENTIALS=true
|
||
|
||
# ─── Postgres (для docker-compose) ───────────────────────────────────
|
||
# Эти переменные используются compose'ом для создания/connect к Postgres контейнеру.
|
||
# Если оператор использует external managed Postgres — игнорь POSTGRES_* и впиши
|
||
# connection string в DATABASE_URL ниже.
|
||
POSTGRES_USER=cryptowallet
|
||
POSTGRES_PASSWORD=__GENERATE_STRONG_PASSWORD__
|
||
POSTGRES_DB=cryptowallet
|
||
|
||
# Если используешь managed/external Postgres — раскомментируй и заполни:
|
||
# DATABASE_URL=postgres://user:pass@host:5432/dbname
|
||
|
||
# ─── KeyDB / Redis (idempotency cache + NearIntents asset map cache) ─
|
||
# REDIS_HOST=keydb имя service в compose — НЕ меняй если работаешь через compose
|
||
REDIS_HOST=keydb
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=__GENERATE_STRONG_PASSWORD__
|
||
REDIS_DB=0
|
||
|
||
# ─── Внешние API ─────────────────────────────────────────────────────
|
||
# CoinGecko — для prices/dynamics (без ключа работает с rate limits)
|
||
COINGECKO_API_KEY=
|
||
|
||
# Jupiter — для SOL custodial swap (без ключа = lower rate limits)
|
||
JUPITER_API_KEY=
|
||
|
||
# Jupiter referral — если хочешь чтобы SOL swap fees шли через Jupiter feeAccount.
|
||
# Сейчас у нас атомарный 0.7% fee atomic в swap-orchestrator (на APP_FEE_WALLET_SOL),
|
||
# referral отдельный механизм. Можно оставить пустым.
|
||
JUPITER_REFERRAL_ACCOUNT=
|
||
|
||
# TronGrid — для TRX queries (без ключа 3 req/sec, с ключом 100/sec)
|
||
# Получить: https://www.trongrid.io/dashboard
|
||
TRON_API_KEY=
|
||
|
||
# Outbound HTTP proxy (опц.) — если хотите чтобы Jupiter/Relay/NearIntents calls
|
||
# шли через proxy (rotation IP для rate limits). Формат: http://user:pass@host:port
|
||
OUTBOUND_PROXY_URL=
|
||
|
||
# ─── App fee wallets ─────────────────────────────────────────────────
|
||
# Эти адреса HARDCODED в backend (apps/api/src/lib/app-fee.ts), НЕ настраиваются
|
||
# через env. Если нужно изменить — code review + rebuild.
|
||
# EVM (ETH+BSC): 0xeb9fbf0d137ef5ea7b9959044c2ed44ec1206c68
|
||
# SOL: DQkQegoX698XkcXZ6VX9P1qUpbV64Sgjz1BCPFgfWpjD
|
||
# TRX: TRwpFjnfMBe4aDJbHYEqeUVCG1auF8wFXP
|
||
# BTC: — (not collectable)
|