79 lines
2.2 KiB
Plaintext
79 lines
2.2 KiB
Plaintext
# Flask
|
|
FLASK_ENV=development
|
|
API_SECRET_KEY=
|
|
|
|
# PocketBase
|
|
POCKETBASE_URL=http://pocketbase:8090
|
|
POCKETBASE_ADMIN_EMAIL=
|
|
POCKETBASE_ADMIN_PASSWORD=
|
|
|
|
# Redis / RQ — shared with Firecrawl
|
|
REDIS_URL=redis://bettersight-redis:6379
|
|
|
|
# OpenRouter
|
|
OPENROUTER_API_KEY=
|
|
# MVP launch default: paid-first, no free-tier rotation (see core/extractor.py's
|
|
# USE_FREE_MODELS_FIRST comment). Set to "true" to re-enable free-tier
|
|
# cycling through FREE_MODELS before falling back to the paid model —
|
|
# FREE_MODELS is left populated below so that's a one-line switch.
|
|
OPENROUTER_USE_FREE_MODELS_FIRST=false
|
|
OPENROUTER_FREE_MODELS=openai/gpt-oss-120b:free,nvidia/nemotron-3-super-120b-a12b:free,meta-llama/llama-3.3-70b-instruct:free
|
|
OPENROUTER_FALLBACK_MODEL=deepseek/deepseek-v4-flash
|
|
|
|
# Firecrawl (self-hosted)
|
|
FIRECRAWL_URL=http://firecrawl:3002
|
|
|
|
# Proxy — Primary (Webshare)
|
|
WEBSHARE_USER=
|
|
WEBSHARE_PASS=
|
|
# Dashboard API token (Authorization: Token <key>) — a DIFFERENT credential
|
|
# from WEBSHARE_USER/WEBSHARE_PASS above (those are proxy-gateway auth; this
|
|
# is for Webshare's account-management REST API, used to list the account's
|
|
# own dedicated IPs for candidate rotation). Generate from the Webshare
|
|
# dashboard's API/account section, not the proxy connection settings page.
|
|
WEBSHARE_API_KEY=
|
|
|
|
# Proxy — Fallback (Bright Data — pay-as-you-go, auto-escalated per domain)
|
|
BRIGHTDATA_USER=
|
|
BRIGHTDATA_PASS=
|
|
|
|
# Proxy settings
|
|
PROXY_ESCALATION_THRESHOLD=2
|
|
|
|
# Stripe
|
|
STRIPE_SECRET_KEY=
|
|
STRIPE_WEBHOOK_SECRET=
|
|
STRIPE_PRICE_ANALYSE=
|
|
STRIPE_PRICE_DISCOVER=
|
|
STRIPE_PRICE_INTELLIGENCE=
|
|
|
|
# Transactional email
|
|
RESEND_API_KEY=
|
|
|
|
# Error tracking
|
|
SENTRY_DSN=
|
|
|
|
# Hetzner Object Storage (backups)
|
|
HETZNER_S3_ACCESS_KEY=
|
|
HETZNER_S3_SECRET_KEY=
|
|
HETZNER_S3_ENDPOINT=https://fsn1.your-objectstorage.com
|
|
HETZNER_S3_BUCKET=bettersight-backups
|
|
|
|
# Gotify (owner monitoring — never client-facing)
|
|
GOTIFY_URL=
|
|
GOTIFY_APP_TOKEN=
|
|
|
|
# Google Sheets (existing from app.py — moved here in Phase 2)
|
|
GOOGLE_SERVICE_ACCOUNT_JSON=
|
|
SHEET_ID=
|
|
STANDARD_TAB=
|
|
NGS_TAB=
|
|
|
|
# Bettersight template Sheet — hosted share URL, served via GET
|
|
# /account/template (CLAUDE.md §15 Template Import)
|
|
TEMPLATE_SHEET_URL=
|
|
|
|
# Frontend (Vite)
|
|
VITE_SENTRY_DSN=
|
|
VITE_ENV=development
|