# Application Settings APP_NAME=vn-bond-lab APP_VERSION=1.0.0 DEBUG=false LOG_LEVEL=INFO # Server Settings # # Local recommended (scripts default): 127.0.0.1:8001 # Docker Compose overrides these to 0.0.0.0:8000. HOST=127.0.0.1 PORT=8001 # Database Settings # # Local recommended: leave DB_PATH unset to use the OS default state dir: # - macOS: ~/Library/Application Support/vn-bond-lab/bonds.duckdb # - Linux: ~/.local/state/vn-bond-lab/bonds.duckdb (or $XDG_STATE_HOME) # # Docker: docker-compose.yml sets DB_PATH=/app/data/duckdb/bonds.duckdb # DB_PATH= # Data Collection Settings START_DATE_DEFAULT=2013-01-01 RATE_LIMIT_SECONDS=1.0 MAX_CONCURRENT_REQUESTS=3 REQUEST_TIMEOUT=30 MAX_RETRIES=3 # Scheduler Settings SCHEDULER_ENABLED=false SCHEDULER_DAILY_TIME=18:05 SCHEDULER_TIMEZONE=Asia/Ho_Chi_Minh # Provider Settings HNX_BASE_URL=https://hnx.vn HNX_FTP_BASE_URL=https://owa.hnx.vn/ftp SBV_BASE_URL=https://www.sbv.gov.vn ABO_BASE_URL=https://asianbondsonline.adb.org # Playwright Settings PLAYWRIGHT_HEADLESS=true PLAYWRIGHT_TIMEOUT=30000 # Raw Data Storage # # Local recommended: leave RAW_DATA_PATH unset (defaults near DB_PATH). # Docker: docker-compose.yml sets RAW_DATA_PATH=/app/data/raw # RAW_DATA_PATH= ENABLE_RAW_STORAGE=true # Observability LOG_FORMAT=text # "text" or "json" - JSON recommended for production # Admin Authentication (Optional - OFF by default) # Protects /admin/* and /api/admin/* endpoints ADMIN_AUTH_ENABLED=false ADMIN_USER=admin ADMIN_PASSWORD=change_me_in_production # Deprecated: Use ADMIN_AUTH_* instead (kept for backwards compatibility) # BASIC_AUTH_ENABLED=false # BASIC_AUTH_USERNAME=admin # BASIC_AUTH_PASSWORD=change_me_in_production # Metrics Endpoint Authentication (Optional - OFF by default) # If enabled, requires ADMIN_AUTH_ENABLED=true and valid credentials METRICS_AUTH_ENABLED=false # Demo Mode (Optional - OFF by default) # When enabled, shows demo data banner and prevents real ingestion DEMO_MODE=false # Demo Mode Database Path (Optional) # Separate database for demo data (recommended to avoid mixing with real data) DEMO_DB_PATH=data/demo.db # Override Demo Mode Ingestion Block (Optional - OFF by default) # Set to true to allow provider ingestion even when DEMO_MODE=true # WARNING: Use with caution - can mix synthetic and real data OVERRIDE_DEMO_INGEST=false # Trading Economics (Optional - OFF by default) TRADING_ECONOMICS_API_KEY= # FRED (Optional - enables global comparators for BondY Stress Index) FRED_API_KEY=