# Hostname-related defaults assume Docker Compose context (recommended). # For native dev without Docker, swap "postgres" → "localhost" and "redis" → "localhost". DATABASE_URL=postgresql+psycopg://gendesign:gendesign@postgres:5432/gendesign REDIS_URL=redis://redis:6379/0 CORS_ORIGINS=["http://localhost:3000"] ENVIRONMENT=dev # Sentry: create a project at https://sentry.io/, paste the DSN here. # Empty string = Sentry disabled. main.py initializes only if non-empty. SENTRY_DSN= # External APIs (Stage 2) ROSREESTR_PKK_BASE_URL=https://pkk.rosreestr.ru/api/features/1 OVERPASS_URL=https://overpass-api.de/api/interpreter # ── Scraper наш.дом.рф (Celery beat + admin trigger) ────────────────────── # Расписание автоматических прогонов (5-полевой crontab). По умолчанию пн 04:15 МСК. SCRAPE_KN_CRON=15 4 * * mon # Random delay 0..N сек перед стартом scheduled-таска (анти-pattern detection). SCRAPE_KN_JITTER_SECONDS=1800 # Регионы по умолчанию для scheduled sweep-а (csv). SCRAPE_KN_DEFAULT_REGIONS=66 # Путь к Playwright storage_state.json (commited в git, обновляется --save-state). SCRAPE_KN_STATE_PATH=data/playwright_state.json # Токен для POST /api/v1/admin/scrape/kn (заголовок X-Admin-Token). # Пустая строка = endpoint disabled (503). Сгенерировать: openssl rand -hex 32 SCRAPE_ADMIN_TOKEN=