Jobber/documentation/self-hosting.md
2026-01-16 01:33:43 +00:00

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

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

git pull
docker compose up -d --build