1.7 KiB
1.7 KiB
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
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
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.jsonwill break PDF generation (and the mount).
Updating
git pull
docker compose up -d --build