# Telegram MTProto credentials — get from https://my.telegram.org TG_API_ID= TG_API_HASH= TG_PHONE= # --- ONE OF THE TWO BELOW IS REQUIRED --- # Preferred (no volumes, k8s-friendly): get the string by running # docker compose run --rm -it app python -m parser_bot.auth # It prints `TG_SESSION_STRING=...` — paste that line here. TG_SESSION_STRING= # Fallback (file-based): only used if TG_SESSION_STRING is empty. # Requires mounting ./data/session as a volume. TG_SESSION_PATH=/data/session/parser.session # Postgres POSTGRES_USER=parser POSTGRES_PASSWORD=parser POSTGRES_DB=parser POSTGRES_HOST=db POSTGRES_PORT=5432 # Polling POLL_INTERVAL_SECONDS=60 POLL_HISTORY_LIMIT=50 # API API_HOST=0.0.0.0 API_PORT=8000 # Media (downloaded photos / small videos / docs from parsed messages) MEDIA_DIR=/data/media MEDIA_MAX_BYTES=20971520 # OpenAI-compatible LLM endpoint. In production this can point to the same # vLLM server/model used by telephony. LLM_ENABLED=true LLM_BASE_URL=http://10.2.3.5:8002 LLM_API_KEY= LLM_MODEL=qwen2.5-14b LLM_TIMEOUT_SECONDS=120 LLM_MAX_TOKENS=600 LLM_MIN_TEXT_LENGTH=20 # How often the background classifier wakes up and how many messages it # processes per tick. With 5/20s ≈ 900 messages/hour at ~3-6s per call. LLM_CLASSIFY_INTERVAL_SECONDS=20 LLM_CLASSIFY_BATCH_SIZE=5 # Optional local fallback for admin-only UI/API operations. In production the # portal forwards X-User-Is-Admin=1, so no local password is required. ADMIN_PASSWORD=