self hosting documentation
This commit is contained in:
parent
32bf09551b
commit
e204f48235
64
documentation/self-hosting.md
Normal file
64
documentation/self-hosting.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Self-Hosting (Docker Compose)
|
||||||
|
|
||||||
|
This project is designed to be self-hostable with a single Docker Compose command.
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
```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)
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
This will build a single container that runs the API, UI, scrapers, and resume generator.
|
||||||
|
|
||||||
|
## 4) Access the app
|
||||||
|
|
||||||
|
- Dashboard: http://localhost:3005
|
||||||
|
- API: http://localhost:3005/api
|
||||||
|
- Health: http://localhost:3005/health
|
||||||
|
|
||||||
|
## Persistent data
|
||||||
|
|
||||||
|
`./data` is bind-mounted into the container. It stores:
|
||||||
|
- SQLite DB: `data/jobs.db`
|
||||||
|
- 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).
|
||||||
|
|
||||||
|
## Updating
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git pull
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
Loading…
x
Reference in New Issue
Block a user