# render.yaml — Render auto-configuration # Drop this in your repo root. When you connect the repo to Render, # it reads this file and pre-fills all settings automatically. # You only need to manually add the secret environment variables # (REDIS_PASSWORD, SECRET_KEY, API keys) in the Render dashboard. services: - type: web name: knowledge-universe runtime: docker dockerfilePath: ./Dockerfile branch: main region: oregon plan: free healthCheckPath: /health envVars: # ── Non-secret config (safe to commit) ────────────────────── - key: ENVIRONMENT value: production - key: DEBUG value: "false" - key: LOG_LEVEL value: INFO - key: LOG_FORMAT value: json - key: DEMO_MODE value: "false" - key: WARMUP_ENABLED value: "true" - key: MAX_CACHE_MEMORY_GB value: "1" - key: CRAWLER_TIMEOUT value: "8" - key: CRAWLERS_PARALLEL value: "10" - key: MAX_RESULTS_PER_CRAWLER value: "20" - key: RATE_LIMIT_REQUESTS value: "100" - key: RATE_LIMIT_PERIOD value: "60" - key: ALLOWED_ORIGINS value: "*" - key: ENABLE_METRICS value: "false" - key: CACHE_TTL_REQUEST value: "14400" - key: API_KEY_HEADER value: X-API-Key # ── Secret config (set manually in Render dashboard) ───────── # After connecting repo, go to: Service → Environment → Add # These must be set manually — do NOT commit them to git: # # REDIS_HOST → from Upstash console # REDIS_PORT → from Upstash console (usually 6379) # REDIS_PASSWORD → from Upstash console # SECRET_KEY → generate: python -c "import secrets; print(secrets.token_hex(32))" # GITHUB_TOKEN → github.com/settings/tokens → New token → public_repo # YOUTUBE_API_KEY → console.cloud.google.com → YouTube Data API v3 # KAGGLE_USERNAME → kaggle.com/settings/account # KAGGLE_KEY → kaggle.com/settings/account