# Copy this file to .env and fill in what you have. Everything has a safe # default / degrades gracefully if left blank. # Port nginx will listen on (http://localhost:HTTP_PORT) HTTP_PORT=8080 # --- Weather overlay (OpenWeatherMap tile layer) --- # Free key: https://home.openweathermap.org/users/sign_up # Without a key the weather overlay toggle stays disabled in the UI. OWM_API_KEY= # --- Conflict / "military movement" overlay --- # Backed by ACLED (Armed Conflict Location & Event Data), the closest thing # to an open, structured, public feed of reported military/conflict events. # Free academic/non-commercial access: https://acleddata.com/register/ # Without these the overlay stays empty (endpoint returns [] and the UI hides it). ACLED_API_KEY= ACLED_EMAIL= # --- Polling intervals (minutes) --- RSS_POLL_MINUTES=10 MARKET_POLL_MINUTES=15 CONFLICT_POLL_MINUTES=60 # How long an article stays "live" on the globe before aging out of clusters ARTICLE_WINDOW_HOURS=72 # Minimum |% change| between two consecutive polls of an index/oil price # before it's flagged as a "spike" (see /api/markets/spikes) MARKET_SPIKE_THRESHOLD_PCT=1.5 # How many hours before a spike's previous poll to search for candidate # articles that might explain it MARKET_SPIKE_LOOKBACK_HOURS=6 # SQLite DB location inside the backend container (mapped to ./data on host) DATABASE_PATH=/data/newsatlas.db