# ClassLens Environment Variables # Copy to .env (project root or chatkit/) for local development. # For HF Spaces, add these as Secrets in the Space settings. NEVER commit real secrets. # ============================================================================= # OpenAI (vision parsing + report generation) # ============================================================================= OPENAI_API_KEY=sk-your-openai-api-key # ============================================================================= # Database # ============================================================================= # Provider: "supabase" (Postgres, durable) or "sqlite" (local dev/tests) DATABASE_PROVIDER=supabase # Postgres schema that isolates ClassLens tables from anything else in the DB. DB_SCHEMA=classlens # Supabase connection (Project Settings > Database > Connection string). # Use the session pooler (port 5432). Keep the password URL-safe. SUPABASE_DB_URL=postgresql://postgres.:@.pooler.supabase.com:5432/postgres # Supabase project URL + service-role key (only used for raw-file Storage). SUPABASE_URL=https://.supabase.co SUPABASE_SERVICE_ROLE_KEY=your-service-role-key SUPABASE_STORAGE_BUCKET=classlens-raw-files # Local SQLite path (only used when DATABASE_PROVIDER=sqlite; blank = auto). DATABASE_PATH= # ============================================================================= # Auth # ============================================================================= JWT_SECRET_KEY=change-me-in-prod JWT_EXPIRE_MINUTES=1440 # Comma-separated emails that are promoted to admin on startup. ADMIN_EMAILS=you@example.com # ============================================================================= # Misc # ============================================================================= ENCRYPTION_KEY= FRONTEND_URL=http://localhost:3000