Skip to main content

System Configuration

Fonrex is configured using environment variables specified in .env. Below is the complete table of supported variables categorized by application subsystem.

Database & Cache

VariableDefault ValueRequiredDescription
DATABASE_URLpostgresql://fonrex:fonrex_password@localhost:5432/fonrexPrimary PostgreSQL/TimescaleDB connection string
ASYNC_DATABASE_URLAuto-derived from DATABASE_URLAsyncPG connection string for asynchronous workers
POSTGRES_DBfonrexPostgreSQL database name
POSTGRES_USERfonrexPostgreSQL username
POSTGRES_PASSWORDfonrex_passwordPostgreSQL password
REDIS_URLredis://localhost:6379/0Redis instance URL
CACHE_TTL300Default API cache TTL in seconds (5 minutes)

Specialized Data Providers

VariableDefault ValueRequiredDescription
OPENFIGI_API_KEY""Optional OpenFIGI API key for higher rate limits
SEC_EDGAR_EMAILcontact@fonrex.ioContact email sent in HTTP User-Agent header to SEC EDGAR

Historical Ingestion

VariableDefault ValueRequiredDescription
INGEST_CONCURRENCY5Number of parallel worker threads during bulk ingestion
INGEST_YF_DELAY0.5Delay in seconds between consecutive Yahoo Finance requests
INGEST_TV_DELAY2.0Delay in seconds between TradingView historical requests
INGEST_BATCH_SIZE1000Batch size for SQL INSERT ... ON CONFLICT statements

Realtime Streaming

VariableDefault ValueRequiredDescription
TV_MAX_CONNECTIONS10Maximum simultaneous TradingView WebSocket connections
TV_RECONNECT_DELAY5Initial reconnect delay in seconds (exponential backoff)
REALTIME_QUOTE_TTL60Redis TTL for realtime quote snapshots in seconds
REALTIME_AUTO_SUBSCRIBEtrueAutomatically start WebSocket stream when requesting /quote/{ticker}

Technical Indicators

VariableDefault ValueRequiredDescription
TECHNICAL_CACHE_ENABLEDtrueEnable Redis caching for technical indicator calculations
TECHNICAL_DEFAULT_LIMIT500Default number of candles retrieved for indicator math
TECHNICAL_MAX_BATCH_TICKERS20Maximum tickers per /technical/batch request
TECHNICAL_MAX_BATCH_INDICATORS10Maximum indicators per /technical/batch request

News Aggregator

VariableDefault ValueRequiredDescription
NEWS_CACHE_TTL1800Redis TTL for news feed results in seconds (30 min)
NEWS_DEFAULT_LIMIT20Default article limit per news query
NEWS_MAX_LIMIT100Maximum allowed articles per request
NEWS_PROVIDERS_TIMEOUT10Global timeout for provider scraping requests in seconds
NEWS_DEDUP_SIMILARITY0.85SequenceMatcher similarity threshold for title deduplication

Valuation (DCF)

VariableDefault ValueRequiredDescription
DCF_CACHE_TTL21600Redis TTL for DCF valuations in seconds (6 hours)
DCF_DEFAULT_PROJECTION_YEARS5Default cash flow projection window in years
DCF_RISK_FREE_RATE0.04Default risk-free rate (e.g. 4.0% US 10Y Treasury)
DCF_EQUITY_RISK_PREMIUM0.055Default equity risk premium (5.5%)
DCF_TERMINAL_GROWTH_RATE0.025Default terminal growth rate (2.5%)

Provider Monitoring & Health

VariableDefault ValueRequiredDescription
VALIDATION_OUTLIER_THRESHOLD0.50Consensus deviation threshold (50%) to flag outliers
VALIDATION_MIN_PROVIDERS2Minimum agreeing providers required for consensus check
CANARY_RUN_HOUR6Daily UTC hour to trigger Canary health suite (0-23)
CANARY_PROVIDER_SEMAPHORE3Concurrency limit for canary checks
ALERT_CANARY_CRITICAL3Consecutive failed canary checks before critical alert
ALERT_SUCCESS_RATE_CRITICAL0.70Provider success rate threshold for critical alert
ALERT_SUCCESS_RATE_WARNING0.85Provider success rate threshold for warning alert