# Optional PostgreSQL connection. If empty, RelayWatch reads local JSON data files. DATABASE_URL=postgresql://relaywatch:change-me@127.0.0.1:5432/relaywatch # Admin token for protected maintenance endpoints. RELAYWATCH_ADMIN_TOKEN=change-me # Optional detector service used by the model/site detection page. RELAYWATCH_DETECTOR_BASE_URL=http://127.0.0.1:8770 RELAYWATCH_DETECTOR_TIMEOUT=20 RELAYWATCH_QUALITY_PROBE_TIMEOUT=18 # Optional file queue for card-shop submissions from the About page. RELAYWATCH_SUBMITTED_CARD_SHOPS_FILE=/root/relaywatch-deploy/state/card_manual_shop_urls.csv RELAYWATCH_LDXP_RESULT_CACHE_TTL=45 RELAYWATCH_LDXP_RESULT_CACHE_STALE_TTL=600 RELAYWATCH_LDXP_META_CACHE_TTL=120 CARD_PIPELINE_NICE=10 CARD_PIPELINE_IONICE=7 # Optional GitHub token for higher AI project/news collection rate limits. GITHUB_TOKEN= RELAYWATCH_GITHUB_TOKEN= # Optional LinuxDo cookie or custom RSS list for feeds behind Cloudflare. RELAYWATCH_LINUXDO_COOKIE= RELAYWATCH_LINUXDO_RSS_URLS=https://linux.do/latest.rss,https://linux.do/top.rss,https://linux.do/posts.rss # Caches and API tuning. REDIS_URL= RELAYWATCH_REDIS_PREFIX=relaywatch RELAYWATCH_REDIS_RETRY_INTERVAL=60 RELAYWATCH_OFFICIAL_STATUS_TTL=300 RELAYWATCH_AI_NEWS_TTL=900 RELAYWATCH_AI_NEWS_PER_FEED=12 RELAYWATCH_MODEL_RESULT_CACHE_MAX=256 RELAYWATCH_SITE_RESULT_CACHE_MAX=256 RELAYWATCH_META_CACHE_TTL=1800 RELAYWATCH_DB_STATEMENT_TIMEOUT_MS=8000 # Anti-crawling and API abuse controls. Set RELAYWATCH_ANTICRAWL_ENABLED=0 to disable quickly. RELAYWATCH_ANTICRAWL_ENABLED=1 # Directly serving port 80 should keep this disabled. Enable only behind a trusted proxy. RELAYWATCH_ANTICRAWL_TRUST_PROXY=0 RELAYWATCH_ANTICRAWL_ALLOWLIST=127.0.0.1,::1 RELAYWATCH_ANTICRAWL_SITES_MAX_PAGE=100 RELAYWATCH_ANTICRAWL_MODELS_MAX_PAGE=100 RELAYWATCH_ANTICRAWL_ANNOUNCEMENTS_MAX_PAGE=100 RELAYWATCH_ANTICRAWL_MODEL_SITES_MAX_PAGE=20 RELAYWATCH_ANTICRAWL_BAN_SECONDS=600 RELAYWATCH_ANTICRAWL_HONEYPOT_BAN_SECONDS=86400 RELAYWATCH_ANTICRAWL_RISK_BAN_SCORE=180