|
| 1 | +# ── StackResume — Configuration ─────────────────────────────────────────── |
| 2 | +# Copy this file to .env. Everything here can ALSO be edited live from the |
| 3 | +# in-app Settings → API Keys / AI Models modal (the DB overlay takes |
| 4 | +# precedence over these defaults at runtime). |
| 5 | + |
| 6 | +# ── LLM provider ────────────────────────────────────────────────────────────── |
| 7 | +# One of: openai | anthropic | google | ollama | custom |
| 8 | +# Default is Google Gemini — set GOOGLE_API_KEY below. |
| 9 | +LLM_PROVIDER=google |
| 10 | +LLM_MODEL=gemini-2.5-flash |
| 11 | +LLM_TEMPERATURE=0.7 |
| 12 | + |
| 13 | +# ── Provider API keys ───────────────────────────────────────────────────────── |
| 14 | +# Set the one matching LLM_PROVIDER. All can also be entered in the UI. |
| 15 | +OPENAI_API_KEY= |
| 16 | +ANTHROPIC_API_KEY= |
| 17 | +GOOGLE_API_KEY= |
| 18 | + |
| 19 | +# ── Custom OpenAI-compatible endpoint (optional) ───────────────────────────── |
| 20 | +# Only used when LLM_PROVIDER=custom. Point at any OpenAI-compatible API |
| 21 | +# (Azure OpenAI, vLLM, Together.ai, …). Auth still uses OPENAI_API_KEY. |
| 22 | +# OPENAI_BASE_URL=https://your-host/v1 |
| 23 | + |
| 24 | +# ── Ollama (optional) ───────────────────────────────────────────────────────── |
| 25 | +# Only used if LLM_PROVIDER=ollama. Point at a host-installed Ollama server. |
| 26 | +# Inside Docker, use http://host.docker.internal:11434 to reach the host. |
| 27 | +OLLAMA_BASE_URL=http://host.docker.internal:11434 |
| 28 | + |
| 29 | +# ── LangSmith tracing (optional) ────────────────────────────────────────────── |
| 30 | +# Set LANGSMITH_TRACING=true AND LANGSMITH_API_KEY to stream every LLM call |
| 31 | +# to LangSmith. Verify the connection from Settings → Test trace. |
| 32 | +LANGSMITH_API_KEY= |
| 33 | +LANGSMITH_PROJECT=stackresume |
| 34 | +LANGSMITH_TRACING=false |
| 35 | + |
| 36 | +# ── Quality settings ────────────────────────────────────────────────────────── |
| 37 | +MAX_REVIEW_ITERATIONS=3 # How many times to refine the resume (1-5) |
| 38 | +MIN_QUALITY_SCORE=82.0 # Stop refining when this score is reached (0-100) |
| 39 | + |
| 40 | +# ── Database ────────────────────────────────────────────────────────────────── |
| 41 | +# SQLAlchemy URL. The Docker compose file already sets this to the bind-mounted |
| 42 | +# /data path so you don't normally need to change it. For a local pip run: |
| 43 | +# DATABASE_URL=sqlite+aiosqlite:///./stackresume.db |
| 44 | +# DATABASE_URL=sqlite+aiosqlite:////data/resume_builder.db |
| 45 | + |
| 46 | +# ── Optional admin auth (single user, session-based) ───────────────────────── |
| 47 | +# Off by default. Flip AUTH_ENABLED=true AND set AUTH_PASSWORD to require login. |
| 48 | +# Uses SHA-512 client-side hashing + 24h server-issued session tokens. |
| 49 | +# Login will return 503 if AUTH_ENABLED=true but AUTH_PASSWORD is empty. |
| 50 | +AUTH_ENABLED=false |
| 51 | +AUTH_USERNAME=admin |
| 52 | +AUTH_PASSWORD= |
| 53 | + |
| 54 | +# ── CORS ────────────────────────────────────────────────────────────────────── |
| 55 | +# Comma-separated list of allowed origins, or * to allow all (dev default). |
| 56 | +# Production example: CORS_ORIGINS=https://myapp.example.com |
| 57 | +# When AUTH_ENABLED=true and CORS_ORIGINS=* the server collapses to same-origin only. |
| 58 | +CORS_ORIGINS=* |
| 59 | + |
| 60 | +# ── App ─────────────────────────────────────────────────────────────────────── |
| 61 | +DEBUG=false # Enables FastAPI debug + SQL echo when true |
0 commit comments