chore: point news-summarizer compose at Nous portal

This commit is contained in:
Sirius DevOps 2026-08-27 23:24:45 -04:00
parent 8f3699f133
commit d93ad88956
3 changed files with 15 additions and 13 deletions

View file

@ -60,7 +60,7 @@ FIRMS_INTERVAL=900
INGEST_FIRES=1
# ── API keys (managed from the dashboard UI) ──────────────────────────────
# Keys such as GEMINI_API_KEY and TELEGRAM_TOKEN are stored in the Postgres
# Keys such as NOUS_API_KEY and TELEGRAM_TOKEN are stored in the Postgres
# `api_keys` table and managed from the dashboard's "Keys" tab
# (GET/POST/DELETE /api/keys/{name}) — see app/keystore.py. The FIRMS ingestor
# currently reads FIRMS_MAP_KEY from .env (above); wiring the Keys-UI store as
@ -68,13 +68,15 @@ INGEST_FIRES=1
# ── News pipeline (scraper + summarizer, profile `ingest`) ────────────────
# Hourly: the scraper crawls 257 RSS sources at minute :00 and the summarizer
# runs the Gemini map-reduce at minute :05, both writing to the shared osint-db
# runs the Nous map-reduce at minute :05, both writing to the shared osint-db
# (tables `articles` + `article_summaries`, created by alembic 003_news).
# Consume via GET /api/news and GET /api/news/summaries.
# GEMINI_API_KEY is REQUIRED for summarization; unset = summarizer idles.
GEMINI_API_KEY=
# NOUS_API_KEY is also (preferably) set in the Keys UI; env is an override.
# Unset in both env and api_keys = summarizer logs and idles (never crashes).
NOUS_API_KEY=
NOUS_BASE_URL=https://inference-api.nousresearch.com/v1
# Optional LLM knobs
SUMMARY_MODEL=gemini-2.0-flash
SUMMARY_MODEL=Hermes-4.3-36B
NEWS_BATCH_SIZE=50
SUMMARY_WINDOW_HOURS=1
# Futures/markets coupling from the upstream pipeline is OFF by default
@ -87,6 +89,8 @@ NEWS_SUMMARIZE_MINUTE=5
# scheduled minute.
NEWS_SCRAPE_RUN_ON_START=1
NEWS_SUMMARIZE_RUN_ON_START=1
# "1" ignores the current-UTC-hour idempotency skip (double-pins on recreate).
NEWS_SUMMARIZE_FORCE=0
NEWS_LOG_LEVEL=INFO
# Reserved for the (out-of-scope) Telegram delivery bot.
TELEGRAM_TOKEN=

View file

@ -224,14 +224,16 @@ services:
DB_HOST: db
DB_PORT: ${DB_PORT:-5432}
DB_NAME: ${DB_NAME:-osint_data}
# Required to do real work; unset → the loop logs and idles.
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
SUMMARY_MODEL: ${SUMMARY_MODEL:-gemini-2.0-flash}
NOUS_API_KEY: ${NOUS_API_KEY:-}
NOUS_BASE_URL: ${NOUS_BASE_URL:-https://inference-api.nousresearch.com/v1}
SUMMARY_MODEL: ${SUMMARY_MODEL:-Hermes-4.3-36B}
OSINT_USER_AGENT: ${OSINT_USER_AGENT:-osint-dashboard-news-summarizer}
BATCH_SIZE: ${NEWS_BATCH_SIZE:-50}
SUMMARY_WINDOW_HOURS: ${SUMMARY_WINDOW_HOURS:-1}
INCLUDE_FUTURES: ${INCLUDE_FUTURES:-0}
NEWS_SUMMARIZE_MINUTE: ${NEWS_SUMMARIZE_MINUTE:-5}
NEWS_SUMMARIZE_RUN_ON_START: ${NEWS_SUMMARIZE_RUN_ON_START:-1}
NEWS_SUMMARIZE_FORCE: ${NEWS_SUMMARIZE_FORCE:-0}
command: ["python", "run_news_summarizer.py"]
volumes:

View file

@ -1,6 +1,2 @@
# Database adapter for PostgreSQL (shared osint-db).
psycopg2-binary==2.9.11
# Gemini LLM SDK (google-genai). yfinance is NOT a dependency: futures prices
# are gated behind INCLUDE_FUTURES=1 and lazy-imported (install it to enable).
google-genai
httpx==0.28.1