52 lines
1.4 KiB
Plaintext
52 lines
1.4 KiB
Plaintext
# 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=
|