DATABASE_URL=postgres://postgres:postgres@localhost:5432/auto_site_factory DISCOVERY_INTERVAL_HOURS=5 SOURCE_TARGETS_FILE=config/source-targets.json # Steam lifecycle monitor. New-game discovery uses the official # IStoreService/GetAppList API and therefore requires a Steam Web API key. STEAM_WEB_API_KEY= STEAM_APP_LIST_URL=https://api.steampowered.com/IStoreService/GetAppList/v1/ # On the first run after migrating from the daily mirror, re-read one week of # modified games. Existing AppIDs are ignored, so this only closes discovery gaps. STEAM_APP_LIST_FIRST_SYNC_LOOKBACK_SECONDS=604800 STEAM_STORE_CHECK_LIMIT=200 STEAM_CCU_CHECK_LIMIT=300 # Local Node Dashboard/API. Leave DASHBOARD_TOKEN empty for local development only. # The browser enters this token at runtime; do not expose it as a VITE_* build variable. API_PORT=8787 DASHBOARD_TOKEN= # Cloudflare Pages runtime equivalents are configured as Pages bindings/secrets: # HYPERDRIVE (binding) # DASHBOARD_TOKEN (secret) # GITHUB_DISPATCH_TOKEN (secret, optional unless using the manual run button) # GITHUB_REPOSITORY=CoderLim/auto-site-factory # GITHUB_WORKFLOW_FILE=discovery-cron.yml # GITHUB_REF=main # Optional LLM extractor. Without these variables the heuristic extractor is used. LLM_API_URL=https://api.openai.com/v1/chat/completions LLM_API_KEY= LLM_MODEL=gpt-5-mini # Source credentials referenced by source target config via "tokenEnv" / "apiKeyEnv". REDDIT_ACCESS_TOKEN= REDDIT_USER_AGENT=auto-site-factory/0.1 by CoderLim YOUTUBE_API_KEY= APIFY_TOKEN= TWITCH_CLIENT_ID= TWITCH_CLIENT_SECRET= X_BEARER_TOKEN= DISCORD_BOT_TOKEN=