JobFoundryAGPL-3.0
GitHub
Docs/Installation & Setup

Getting Started with JobFoundry

JobFoundry runs as a local daemon on your machine or private server. Follow this guide to initialize the server, configure your LLM endpoint, and verify service health.

Prerequisites

  • Runtime: Linux, macOS, or Windows WSL2.
  • Container Engine (Recommended): Docker or Podman with compose support.
  • Manual Node.js: Node.js version 22 or higher with npm.
  • LLM Backend (Optional for scoring): Local Ollama, vLLM, or any OpenAI-compatible API.

Method 1: One-Line Install Script

The fastest way to deploy JobFoundry locally on Linux and macOS:

ONE-LINE INSTALL
$ curl -sSL https://raw.githubusercontent.com/deadrat-in/JobFoundry/main/install.sh | bash

This script verifies container runtimes (Podman or Docker), clones or updates repository assets, initializes .env, and starts the container daemon.

Method 2: Docker Compose or Podman

If you prefer cloning the repository and managing services via compose:

CLONE REPOSITORY
$ git clone https://github.com/deadrat-in/JobFoundry.git && cd JobFoundry

Copy the sample configuration and configure your secrets:

CONFIGURE ENVIRONMENT
$ cp .env.example .env

Start the pipeline services in the background:

START SERVICES (DOCKER)
$ docker compose up -d

Or with Podman:

START SERVICES (PODMAN)
$ podman compose up -d

Method 3: Native Node.js Setup

For active development or running without containers:

INSTALL DEPENDENCIES & RUN TESTS
$ npm install && npm test

Start the web server and ingestion workers:

START PIPELINE DAEMON
$ npm start

Environment Configuration (.env)

JobFoundry stores settings in a local .env file. The key configuration parameters include:

VariableDefaultDescription
PORT8080Port for the web dashboard and extension ingestion API.
DATABASE_URLsqlite://./data/jobfoundry.dbLocal SQLite database or Postgres connection string.
LLM_BASE_URLhttp://localhost:11434/v1Base URL for your LLM endpoint (Ollama default).
LLM_MODELllama3:latestModel name used for fit scoring and criteria evaluation.
SIMHASH_THRESHOLD3Hamming distance threshold for detecting duplicate jobs.

Verifying Installation

Confirm the daemon is listening and healthy by probing the health check endpoint:

VERIFY HEALTH
$ curl -i http://localhost:8080/health

Once healthy, open http://localhost:8080 in your browser to view the Kanban dashboard. Next, install the companion browser extension to begin ingesting job postings.