Dossier
Dossier is a self-hosted job search app that keeps your career history in one profile, writes tailored resumes and cover letters from profile facts, and tracks each application from draft to offer. Free software under AGPL-3.0.
Visit AienTech/dossierOverview
Dossier is a self-hosted job search application for one person. It keeps career history in a single profile, matches postings against that profile, drafts tailored resumes and cover letters using only profile facts, and tracks applications from draft to offer. It runs on your own server with your data in PostgreSQL and an AI model you choose.
Key Features
- One profile for basics, skills, languages, experience, projects, education, publications and references, with a strength meter.
- Posting matching that shows covered requirements and gaps, then drafts a tailored resume and cover letter in a chosen tone.
- Twelve resume themes and a live-preview theme builder that prints to PDF on your server.
- Job search through JSearch or Adzuna, startup job sources, and an optional daily job agent that never sends or applies.
- Application tracking with a board, table, dashboard funnel, weekly chart and upcoming interviews.
- Optional Gmail and Google Calendar integration plus a Claude connector, with confirmation required before anything is sent.
Use Cases
- Job seekers who want to apply to multiple roles while keeping career data and generated documents on their own server.
- People who need tailored resumes and cover letters based only on verified profile facts.
- Users who want to organize and monitor applications from draft through offer, including interviews.
- Privacy-conscious users who prefer a local AI model through Ollama or LM Studio, or a hosted model of their choice.
Getting Started
- Install Docker Desktop on macOS or Windows, or Docker Engine with its Compose plugin on Linux, with about 2 GB of free memory.
- Create a folder for Dossier, fetch the production Compose file as compose.yml, and generate POSTGRES_PASSWORD and DOSSIER_SECRET into a .env file.
- Generate a password hash with the Dossier hash-password container, then add the argon2id line to .env as DOSSIER_PASSWORD.
- Start the stack with docker compose up -d, open the local app on port 3000, sign in, and choose an AI model in Settings → AI provider.
- On Apple Silicon Macs, add a Compose override setting the app platform to linux/amd64 because the image is built for Intel and AMD processors.
Deployment & Requirements
- Local use requires Docker Desktop on macOS or Windows, or Docker Engine with its Compose plugin on Linux, and about 2 GB of free memory.
- Server self-hosting requires your own domain with HTTPS and at least 2 vCPUs and 2 GB of memory.
- Documented self-hosting options include an Ubuntu server with Docker Compose and Caddy or Node.js without Docker, Coolify, Dokploy, and CapRover.
- Dossier expects one app instance per database; nightly backups, the AI job queue and the PDF browser run inside the app process.
Before You Adopt
- License: AGPL-3.0. Review its terms before using, modifying, or distributing the project.
- Dossier is designed for desktop browsers, not phones.
- It supports one password and one profile, with no accounts.
- The application interface is English, while generated documents can be written in other languages.
- Only one copy of the app should run per database.
- A hosted AI model receives the content it writes from, unlike local models that keep profile, postings and documents on your hardware.