app.bettersight.io/.env.example

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