# ============================================================================= # Job Ops - Environment Variables # Copy this file to .env and fill in your values # ============================================================================= MODEL=google/gemini-3-flash-preview # DEPRECATED (auto-copied to LLM_API_KEY for compatibility) # OPENROUTER_API_KEY=your_openrouter_api_key_here # Self-hosted RxResume base URL, e.g., http://rxresume.local.net # Defaults to https://v4.rxresu.me # RXRESUME_URL= # Optional: load resume JSON from disk instead of the RxResume API (scoring, tailoring, cover letters). # Path is absolute or relative to the orchestrator process cwd (often `orchestrator/` when using `npm run dev` there). # Takes precedence over Settings → local path. PDF export still uses RxResume when enabled. # Example (monorepo): hand-authored v5 JSON may live under `data/resumes/` (that folder is gitignored by default). # JOBOPS_LOCAL_RESUME_PATH=../data/resumes/ilia-dobkin.json # RXResume credentials for PDF generation # Create an account at: https://v4.rxresu.me RXRESUME_EMAIL=your_email@example.com RXRESUME_PASSWORD=your_password_here # Optional: Basic Auth for write access # the app is fully unauthenticated if this isn't set, which is the default # When set, all write actions (POST/PATCH/DELETE) require Basic Auth. BASIC_AUTH_USER= BASIC_AUTH_PASSWORD= # Optional: client build only — skip RxResume steps in the onboarding wizard (search without PDF export). # Prefer setting `JOBOPS_LOCAL_RESUME_PATH` above: the API tells the UI to skip RxResume onboarding automatically. # Otherwise: copy `orchestrator/.env.example` → `orchestrator/.env` and set VITE_SKIP_RXRESUME_ONBOARDING=true # (Vite only reads `orchestrator/.env`, not this root file.) # Docker: Vite vars need IMAGE BUILD time (Dockerfile ARG / docker-compose build args), not runtime .env. # VITE_SKIP_RXRESUME_ONBOARDING=true # Public base URL used to generate tracer links when PDFs are created by # background/pipeline runs (where request host cannot be inferred). # Example: JOBOPS_PUBLIC_BASE_URL=https://jobops.example.com JOBOPS_PUBLIC_BASE_URL= # ============================================================================= # Gmail OAuth (Tracking Inbox) - optional # ============================================================================= # Required to connect Gmail from the UI. GMAIL_OAUTH_CLIENT_ID= GMAIL_OAUTH_CLIENT_SECRET= # Optional override for OAuth callback URL. # If unset, defaults to /oauth/gmail/callback # GMAIL_OAUTH_REDIRECT_URI=http://localhost:3005/oauth/gmail/callback # ============================================================================= # UKVisaJobs (UK visa sponsorship jobs) - optional # ============================================================================= # Provide email/password for automatic login and token refresh. # See extractors/ukvisajobs/README.md for detailed instructions. UKVISAJOBS_EMAIL= UKVISAJOBS_PASSWORD= UKVISAJOBS_HEADLESS=true # ============================================================================= # Adzuna (multi-country API source) - optional # ============================================================================= # App credentials from Adzuna developer account. ADZUNA_APP_ID= ADZUNA_APP_KEY= # Optional default per-term cap (can be overridden by UI run budget logic). # ADZUNA_MAX_JOBS_PER_TERM=50 # ============================================================================= # JobSpy - Job search configuration # ============================================================================= # Filter for remote-only jobs (default: 0 = disabled) # JOBSPY_IS_REMOTE=0