update documentation

This commit is contained in:
DaKheera47 2026-01-22 22:05:04 +00:00
parent 733da22d2c
commit 3972a173c5
4 changed files with 26 additions and 56 deletions

View File

@ -17,20 +17,17 @@ https://github.com/user-attachments/assets/06e5e782-47f5-42d0-8b28-b89102d7ea1b
## Quick Start
```bash
# 1. Setup environment
cp .env.example .env
# 2. Run with Docker
# 1. Run with Docker
docker compose up -d --build
# 3. Access Dashboard
# 2. Open the dashboard
# http://localhost:3005
```
## Setup
Essential variables in `.env`:
- `OPENROUTER_API_KEY`: For job scoring and tailoring.
- `RXRESUME_EMAIL`/`PASSWORD`: To automate PDF exports.
The app will guide you through setup on first launch. The onboarding wizard helps you:
- Connect your OpenRouter API key (for AI scoring/tailoring)
- Add your RxResume credentials (for PDF export)
- Upload your base resume JSON (exported from RxResume)
## Structure
- `/orchestrator`: React frontend + Node.js backend & pipeline.
@ -43,14 +40,8 @@ Orchestrator docs here: `documentation/orchestrator.md`
## Read-only mode (Basic Auth)
Set `BASIC_AUTH_USER` and `BASIC_AUTH_PASSWORD` in `.env` to make the app read-only for the public.
You can make the app read-only for the public by setting a username and password in the **Settings** page.
After this, all write actions (POST/PATCH/DELETE) require Basic Auth; browsing and viewing remain public.
2. Put your exported RXResume JSON at `resume-generator/base.json`.
3. Start: `docker compose up -d --build`
4. Open:
- Dashboard/UI: `http://localhost:3005`
- API: `http://localhost:3005/api`
- Health: `http://localhost:3005/health`
Persistent data lives in `./data` (bind-mounted into the container).

View File

@ -38,7 +38,7 @@ Once a job is `ready`, the Ready panel is the "shipping lane":
The PDF is generated from:
- The base resume JSON (`resume-generator/base.json`).
- The base resume JSON (uploaded via the Onboarding UI or Settings).
- The job description (used for AI tailoring and project selection).
- Your tailored summary/headline/skills and selected projects.

View File

@ -1,61 +1,40 @@
# Self-Hosting (Docker Compose)
This project is designed to be self-hostable with a single Docker Compose command.
The easiest way to run JobOps is via Docker Compose. The app is self-configuring and will guide you through the setup on your first visit.
## Prereqs
- Docker Desktop or Docker Engine + Compose v2
- An OpenRouter API key (required for AI scoring and summaries)
- RXResume credentials (only if you want PDF exports)
## 1) Clone and set up environment
## 1) Start the stack
```bash
cp .env.example .env
```
Open `.env` and set at least:
- `OPENROUTER_API_KEY`
Optional but commonly used:
- `RXRESUME_EMAIL`, `RXRESUME_PASSWORD` (for CV PDF generation)
- `UKVISAJOBS_EMAIL`, `UKVISAJOBS_PASSWORD` (if you want to scrape UKVisaJobs)
- `BASIC_AUTH_USER`, `BASIC_AUTH_PASSWORD` (read-only public, auth required for writes)
## 2) Provide a base resume JSON
The container mounts a base resume JSON at `resume-generator/base.json`.
- Create or copy your exported RXResume JSON to:
- `resume-generator/base.json`
If you do not plan to generate PDFs, you can still provide a minimal JSON file to satisfy the mount.
## 3) Start the stack
No environment variables are strictly required to start. Simply run:
```bash
docker compose up -d --build
```
This will build a single container that runs the API, UI, scrapers, and resume generator.
This builds a single container that runs the API, UI, scrapers, and resume generator.
## 4) Access the app
## 2) Access the app and Onboard
- Dashboard: http://localhost:3005
- API: http://localhost:3005/api
- Health: http://localhost:3005/health
Open your browser to:
- **Dashboard**: http://localhost:3005
On first launch, you will be greeted by an **Onboarding Wizard**. The app will help you validate and save your configuration:
1. **Connect AI**: Add your OpenRouter API key (required for job scoring and summaries).
2. **PDF Export**: Add your RxResume credentials (if you want to generate tailored PDFs).
3. **Resume JSON**: Upload your base resume JSON (exported from RxResume).
The app saves these to its persistent database, so you don't need to manage `.env` files for basic setup. All other settings (like search terms, job sources, and more) can also be configured directly in the UI.
## Persistent data
`./data` is bind-mounted into the container. It stores:
- SQLite DB: `data/jobs.db`
- SQLite DB: `data/jobs.db` (contains your API keys and configuration)
- Generated PDFs: `data/pdfs/`
## Common issues
- First build is slow: Playwright + Camoufox download Firefox during the image build.
- Scraping can be blocked by target sites (LinkedIn/Indeed/UKVisa). Retry or adjust sources.
- Missing `resume-generator/base.json` will break PDF generation (and the mount).
- Resume JSON: Stored internally after upload.
## Updating

View File

@ -33,7 +33,7 @@ orchestrator/
2. **Set up environment:**
```bash
cp .env.example .env
# Edit .env with your API keys
# The app is self-configuring. You can add keys via the UI Onboarding.
```
3. **Initialize database:**