# === .env для локального Docker-запуска ===
# Скопирован из рабочего VPS-конфига (_deploy_vps.sh).

# --- БД и брокер (Docker-сеть) ---
IAAI_DATABASE_URL=postgresql+psycopg2://iaai:iaai@postgres:5432/iaai_scraper
IAAI_REDIS_URL=redis://redis:6379/0
CELERY_BROKER_URL=redis://redis:6379/0
CELERY_RESULT_BACKEND=redis://redis:6379/0

# --- КЛЮЧЕВОЕ: HTTP-режим листинга ---
# Листинг собирается через POST /Search (без Playwright),
# Chromium headless на listing-странице блокируется Incapsula — этим обходим.
IAAI_LISTING_HTTP_MODE=true

# Браузер нужен только для карточек, которые не отдали embedded JSON по HTTP.
IAAI_BROWSER_ENGINE=chromium
IAAI_HEADLESS=true

# --- Лимиты прогона ---
# 500 страниц = 50k машин — потенциально мало на крупном сегменте.
# 5000 — запас на будущее, всё равно ограничивается списком сегментов.
IAAI_MAX_PAGES_PER_RUN=5000
IAAI_MAX_VEHICLES_PER_RUN=500000

# --- Сегментация листинга (make × year range) ---
IAAI_LISTING_SEGMENTS=auto

# --- Паузы отключены, HTTP-mode их не требует ---
IAAI_HUMAN_PACE_ENABLED=false
IAAI_BLOCK_RESOURCES=true
IAAI_PARALLEL_TABS=16

# --- Celery ---
CELERY_BATCH_SIZE=200
CELERY_WORKER_MAX_TASKS_PER_CHILD=5
CELERY_BEAT_SYNC_INTERVAL_MINUTES=60

# --- Синхронизация ---
IAAI_SYNC_ONLY_NEW=false

# --- Таймауты ---
# 6ч на задачу: bootstrap идёт сегментами по минутам, один сегмент никогда не
# приближается к этому лимиту. Если задача зависнет — освобождение lock'а
# через ~6ч, а не через сутки (см. lock TTL = hard+120).
CELERY_TASK_SOFT_TIME_LIMIT=21600
CELERY_TASK_TIME_LIMIT=21720
# Beat-тик раз в час. Если предыдущий full-scan ещё идёт — новая задача мгновенно
# выходит по distributed lock, дубля не будет.
CELERY_BEAT_SYNC_INTERVAL_MINUTES=60
# Видимость задач в брокере должна быть ≥ hard time limit, иначе Redis переотправит.
CELERY_BROKER_VISIBILITY_TIMEOUT=22000

IAAI_LOG_LEVEL=INFO
TZ=UTC

# ────────────────────────────────────────────────────────────
# ВАЖНО: вы запускаете локально с домашнего IP.
# Скорее всего IAAI/Incapsula блокирует прямые запросы с RU/CIS IP,
# и HTTP-mode тоже будет получать 403/challenge.
# Если это произойдёт — нужно раскомментировать и подставить прокси:
#
# Вариант A — HTTP/HTTPS прокси (US/EU, резидентный):
# IAAI_PROXY_SERVER=http://YOUR_PROXY_HOST:PORT
# IAAI_PROXY_USERNAME=YOUR_USER
# IAAI_PROXY_PASSWORD=YOUR_PASS
#
# Вариант B — SOCKS5 (entrypoint.sh сам поднимет HTTP→SOCKS5 мост на :8899):
# SOCKS5_PROXY_HOST=YOUR_HOST
# SOCKS5_PROXY_PORT=1002
# SOCKS5_PROXY_USER=YOUR_USER
# SOCKS5_PROXY_PASS=YOUR_PASS
# ────────────────────────────────────────────────────────────
