# ─── REQUIRED ──────────────────────────────────────────────────────────────── # PostgreSQL password (used by Docker Compose) POSTGRES_PASSWORD=changeme_use_a_strong_password # Generate with: openssl rand -hex 32 AUTH_SECRET= # LLM — provide at least one. Coworker auto-detects from available keys. # You can also set LLM_PROVIDER=anthropic:claude-sonnet-4-6 for explicit control. OPENAI_API_KEY=sk-... # ANTHROPIC_API_KEY=sk-ant-... # GOOGLE_API_KEY= # GROQ_API_KEY= # MISTRAL_API_KEY= # XAI_API_KEY= # Grok (xAI) # COHERE_API_KEY= # DEEPSEEK_API_KEY= # TOGETHER_API_KEY= # OPENROUTER_API_KEY= # Routes to 200+ models via openrouter.ai # OLLAMA_BASE_URL=http://localhost:11434 # Local models # Optional: explicitly set default provider (supports "provider:model" syntax) # LLM_PROVIDER=anthropic:claude-sonnet-4-6 # LLM_MODEL=claude-sonnet-4-6 # overrides model only # ─── OPTIONAL ───────────────────────────────────────────────────────────────── # App URLs (change in production) APP_URL=http://localhost:3000 API_URL=http://localhost:3001 # Google OAuth (optional — magic link works without it) # GOOGLE_CLIENT_ID= # GOOGLE_CLIENT_SECRET= # SMTP for sending magic links # Leave blank in dev — emails print to console instead # SMTP_URL=smtp://user:password@smtp.example.com:587 # EMAIL_FROM=coworker@yourdomain.com # Local file upload directory (default: ./uploads) # UPLOAD_DIR=./uploads # Telegram bot — get a token from @BotFather on Telegram # TELEGRAM_BOT_TOKEN=123456:ABC-DEF... # ─── LOCAL / SELF-HOSTED ───────────────────────────────────────────────────── # Skip email verification — sign in immediately with any email address. # Recommended for local/single-user self-hosted deployments. # Never enable in production multi-user environments. # LOCAL_AUTH=true # NEXT_PUBLIC_LOCAL_AUTH=true