# Trade-In MVP — environment variables example. # Скопируй в .env (или экспортируй в shell) для override defaults. # === Backend === DATABASE_URL=postgresql+psycopg://tradein:tradein@postgres:5432/tradein CORS_ORIGINS=["http://localhost:8080","http://localhost:3000"] ENVIRONMENT=dev # Yandex Geocoder API key (25k req/day free tier). # Required for backfill scripts (scripts/backfill_house_coords.py + audit_address_mismatch.py). # Empty = Nominatim fallback для backend геокодинга; backfill scripts требуют этот ключ # и упадут с SystemExit без него. YANDEX_GEOCODER_API_KEY= # DaData /clean/address — обогащение target адреса в estimate flow (PR Q1). # Возвращает canonical-форму, kadastr_num, ФИАС, координаты, ближайшее метро. # Demo tier: 100 req/день — хватит для тестов и low-traffic prod. # Если хотя бы один не задан → service возвращает None gracefully, estimator # продолжает работу без enrichment. # Получение ключей: https://dadata.ru/api/clean/ DADATA_API_TOKEN= DADATA_API_SECRET= # === Scrapers === # Транспорт скраперов: "browser" (default — через камуфокс-сайдкар tradein-browser, # обходит anti-bot/datacenter-IP) или "curl_cffi" (legacy fallback). # SCRAPER_FETCH_MODE=browser # # #915 Stage 3: гонять avito IMV-backfill через /fetch-json сайдкара (in-page fetch # на avito.ru — same-origin + прокси + warmed-cookies обходят datacenter-403, #562). # Dormant по умолчанию; включать после прод-валидации IMV-через-браузер. # AVITO_IMV_USE_BROWSER_FETCHER=false # === Frontend (build-time) === # Backend URL для Next.js rewrites (browser обращается к /api/* — Next.js проксирует на BACKEND_URL/api/*). # В docker compose это уже выставлено в http://backend:8000 — менять не нужно. # BACKEND_URL=http://backend:8000 # === Postgres (если меняешь — синхронизируй с DATABASE_URL и docker-compose.yml) === POSTGRES_USER=tradein POSTGRES_PASSWORD=tradein POSTGRES_DB=tradein