# ── Application ────────────────────────────────────────────────────────────── ENV=dev # ── Database ────────────────────────────────────────────────────────────────── DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/adiuva # ── Auth ────────────────────────────────────────────────────────────────────── JWT_SECRET=replace-with-a-long-random-secret JWT_ALGORITHM=HS256 JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30 JWT_REFRESH_TOKEN_EXPIRE_DAYS=30 # ── LLM ─────────────────────────────────────────────────────────────────────── # LiteLLM model identifiers — change to swap providers without code changes. # Examples: gpt-4o, anthropic/claude-sonnet-4-20250514, gemini/gemini-pro, ollama/llama3 OPENAI_API_KEY= ANTHROPIC_API_KEY= GOOGLE_API_KEY= LLM_MODEL=gpt-4o LLM_ROUTER_MODEL=gpt-4o-mini # ── Stripe (leave empty to stub billing) ────────────────────────────────────── STRIPE_SECRET_KEY= STRIPE_WEBHOOK_SECRET= # ── AWS / S3 ────────────────────────────────────────────────────────────────── S3_BUCKET=adiuva S3_REGION=us-east-1 S3_ENDPOINT_URL= AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= # For MinIO (homelab): S3_ENDPOINT_URL=http://minio:9000 # ── Vector Store ────────────────────────────────────────────────────────────── # Pinecone is used when PINECONE_API_KEY is set; otherwise falls back to Qdrant. PINECONE_API_KEY= PINECONE_INDEX=adiuva QDRANT_URL= QDRANT_API_KEY= # For local Qdrant (homelab): QDRANT_URL=http://qdrant:6333 # ── CORS ────────────────────────────────────────────────────────────────────── # Comma-separated list parsed by Settings (override default if needed) # CORS_ORIGINS=["app://.","http://localhost:3000"]