--- name: python-runner description: "Docker kontejner na Unraidu s email pipeline — architektura, závislosti, scheduling, hlášení" metadata: node_type: memory type: project originSessionId: ec13e72a-c0a8-4862-93d9-6da9b29b82f3 --- Email pipeline běží v Docker kontejneru `python-runner` na Unraidu (192.168.1.76). Skripty jsou v `/mnt/user/Scripts/` (volume → `/scripts/`). **Pipeline** spouštěna 2× denně cronem (`0 6,18 * * *`) přes `run_pipeline.sh`: - `1b` — Graph delta sync (nové/změněné emaily → MongoDB) - `3` — Download attachments - `4` — Unwrap S/MIME - `5` — Enrich fulltext → PostgreSQL **Wrapper:** `0_run_pipeline_v1.0.py` - Na začátku auto-install: `pip install -q -r /scripts/requirements.txt` — odolné vůči recreate kontejneru - Na konci email report: HTML tabulka výsledků z `reports@buzalka.cz` → `vladimir.buzalka@buzalka.cz`; při chybě přiloží log selhavšího kroku **Závislosti:** `requirements.txt` v `/scripts/` + v repo `Python-runner/requirements.txt` Klíčové: `msal`, `asn1crypto`, `pymongo`, `psycopg`, `extract-msg`, `beautifulsoup4` **Incident 2026-06-05:** kontejner byl recreated → ztraceny balíčky → pipeline padala 24h (kroky 1b/3/4 FAIL s ModuleNotFoundError). Opraveno auto-installem. **Knihovna pro odesílání emailů:** `Knihovny/EmailMessagingGraph.py` (kopie na serveru `/scripts/EmailMessagingGraph.py`) - SENDER: `reports@buzalka.cz`, tenant TrialHelp s.r.o. **Logy:** `/mnt/user/Scripts/logs/pipeline_YYYYMMDD_HHMM.log`, symlink `pipeline_latest.log`, retence 30 dní. Souvisí s [[graph-email-import]], [[project-mcp-emaily]].