mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-07-30 15:26:14 +00:00
75 lines
2.9 KiB
Bash
75 lines
2.9 KiB
Bash
# Core Configuration
|
|
UPSTREAM_BASE_URL=https://api.openai.com/v1
|
|
UPSTREAM_API_KEY=your-upstream-api-key
|
|
|
|
# Tinfoil (confidential inference enclaves, EHBP)
|
|
# TINFOIL_API_KEY=your-tinfoil-api-key
|
|
|
|
# Secret key used to encrypt node secrets at rest (optional). If unset, the node
|
|
# generates one on first start, writes it to routstr_secret.key (override the path
|
|
# with ROUTSTR_SECRET_KEY_FILE), and prints it once — back that file up, because
|
|
# losing the key makes previously encrypted secrets unreadable. Set it explicitly
|
|
# to manage the key yourself (recommended in production). Generate one with:
|
|
# uv run python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
|
|
ROUTSTR_SECRET_KEY=
|
|
|
|
# The admin password and the Nostr identity (nsec) are NOT set here. The admin
|
|
# password is generated and logged once on first start (read it from the logs to
|
|
# sign in); both are managed afterwards from the admin UI and stored encrypted in
|
|
# the database. ADMIN_PASSWORD / NSEC are still read once as a legacy seed for
|
|
# existing deployments, but new nodes should set them in the UI — a value left in
|
|
# .env is ignored once the node has been configured.
|
|
|
|
# Database
|
|
# DATABASE_URL=sqlite+aiosqlite:///keys.db
|
|
# Pool controls are validated at boot, sourced only from the environment, and
|
|
# logged at startup. Keep total capacity across all workers below the database
|
|
# connection limit. Pre-ping is automatic for networked backends; SQLite may
|
|
# explicitly opt in if desired.
|
|
# DATABASE_POOL_SIZE=5
|
|
# DATABASE_MAX_OVERFLOW=10
|
|
# DATABASE_POOL_TIMEOUT=30
|
|
# DATABASE_POOL_RECYCLE=1800
|
|
# DATABASE_POOL_PRE_PING=false
|
|
# Warn when a checkout is held this many seconds.
|
|
# DATABASE_POOL_HOLD_WARN_SECONDS=10
|
|
# SQLite serialises writes; increasing its pool can trade pool timeouts for
|
|
# "database is locked" errors rather than increasing write throughput.
|
|
|
|
# Node Information
|
|
# NAME=My Routstr Node
|
|
# DESCRIPTION=Fast AI API access with Bitcoin payments
|
|
# HTTP_URL=https://api.mynode.com
|
|
# ONION_URL=http://mynode.onion (auto fetched from compose)
|
|
# RELAYS="wss://relay.damus.io,wss://relay.nostr.band,wss://eden.nostr.land,wss://relay.routstr.com"
|
|
# ENABLE_ANALYTICS_SHARING=true
|
|
# CASHU_MINTS="https://mint.minibits.cash/Bitcoin,https://mint.cubabitcoin.org,https://ecashmint.otrta.me"
|
|
# MINT_OPERATION_CONCURRENCY=4
|
|
# RECEIVE_LN_ADDRESS=
|
|
# REFUND_SWEEP_CLAIM_TIMEOUT_SECONDS=900
|
|
|
|
# Custom Pricing Configuration
|
|
# MODEL_BASED_PRICING=true
|
|
# COST_PER_REQUEST=1
|
|
# COST_PER_1K_INPUT_TOKENS=0
|
|
# COST_PER_1K_OUTPUT_TOKENS=0
|
|
# EXCHANGE_FEE=1.005
|
|
# UPSTREAM_PROVIDER_FEE=1.05
|
|
|
|
# Network Configuration
|
|
# CORS_ORIGINS=*
|
|
# TOR_PROXY_URL=socks5://127.0.0.1:9050
|
|
|
|
# Logging
|
|
# LOG_LEVEL=INFO
|
|
# ENABLE_CONSOLE_LOGGING=true
|
|
|
|
# Custom Model Management
|
|
# BASE_URL=https://openrouter.ai/api/v1
|
|
# MODELS_PATH=models.json
|
|
# SOURCE=
|
|
|
|
# UI Configuration (for Next.js frontend)
|
|
# These variables are prefixed with NEXT_PUBLIC_ to be accessible in the browser
|
|
# NEXT_PUBLIC_API_URL=http://127.0.0.1:8000
|