# --- Runtime ------------------------------------------------------------- NODE_ENV=production PORT=3000 # Public origin used in emails, auth callbacks and canonical links. No trailing slash. PUBLIC_APP_URL=https://www.polyllm.io # --- Database ------------------------------------------------------------ DATABASE_URL=postgres://localhost:5432/polyllm DB_POOL_MAX=10 # --- Auth ---------------------------------------------------------------- # 32+ random bytes, hex or base64. `openssl rand -hex 32` AUTH_SECRET= # --- Email (Resend) ------------------------------------------------------ RESEND_API_KEY= RESEND_FROM_EMAIL="PolyLLM " # Set to 1 to log emails instead of sending (development). EMAIL_DRY_RUN=0 # --- Encryption of user provider keys (AES-256-GCM, server-side only) ---- # 32+ random bytes. Rotating this secret invalidates every stored key. API_KEY_ENCRYPTION_SECRET= # --- Owner / development provider keys (TEST ONLY — never used for users) - OPENAI_API_KEY= ANTHROPIC_API_KEY= GOOGLE_GEMINI_API_KEY= XAI_API_KEY= # --- Admin --------------------------------------------------------------- # Comma-separated emails with access to /admin. ADMIN_EMAILS= # Model catalog refresh interval (minutes). 0 disables the scheduler. MODEL_SYNC_INTERVAL_MINUTES=360