---
title: "Deploy Dossier Ollama"
description: "Tailor CVs with a private local model instead of a cloud AI key"
category: "AI/ML"
url: https://railway.com/deploy/deploy-dossier-with-ollama-local-models
---

# Deploy Dossier Ollama

Tailor CVs with a private local model instead of a cloud AI key

**[Deploy Dossier Ollama on Railway](https://railway.com/template/deploy-dossier-with-ollama-local-models)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/deploy-dossier-with-ollama-local-models/manifest.json

- **Creator:** onepush
- **Category:** AI/ML

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### Dossier https://github.com/AienTech.png

- **Image:** ghcr.io/onepush-dev/dossier:1.10.0
- **Health check:** /api/health
- **Public domain:** Yes

## Documentation

# Deploy and Host self hosted Dossier Ollama (Local AI Models for Job Search) on Railway

This template deploys Dossier, a single-user job search app, on Railway with a local model served by Ollama.

## About Hosting Dossier Ollama open-source software on Railway (self hosted Local-model AI setup for a self-hosted job search app template)

Dossier is open-source job search software under AGPL-3.0, built for one person, and it can be pointed at a local model so your profile, postings and documents stay on your own server instead of going to a hosted AI provider.

## Why Deploy Dossier Ollama, the Teal alternative on Railway (Railway Free Trial)

Teal is a polished tracker, but your profile and postings sit on its servers under its terms.

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Dossier Ollama on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

### Railway vs Other Hosting Providers and VPS for Dossier Ollama self hosting

Running Dossier with a local Ollama model adds moving parts, so the platform matters.

| Provider | What You Get with Railway | What You Get with the Other Provider |
| --- | --- | --- |
| DigitalOcean | Dossier, Postgres and Ollama in one project, with the private link handled. | A Droplet you size and harden yourself, with Docker and the firewall set by hand. |
| AWS | Ollama added beside Dossier with no VPC or security group work. | Full control over instances and GPUs, but a VPC to configure first. |
| Hetzner | Build and deploy handled, with the internal address wired up. | Low-cost servers with generous CPU, where you install Docker, Ollama and the firewall. |

Choose Railway if you want the link between Dossier and Ollama handled for you, and a VPS if you want the lowest cost per core.

## Common Use Cases for hosted Dossier Ollama

- **Keeping your career profile off hosted AI providers:** Your work history, salary notes and CV drafts stay on your Railway server, and the local model reads them without sending that text to a third-party API.
- **Scoring postings without sending profile data outside:** With the provider set to a local model, the Score feature works from your own profile and the postings you paste, so nothing leaves your deployment.
- **Running a free AI backend on a small server:** A 3B model such as qwen2.5:3b needs roughly 3 GB of memory, so a modest Railway service can handle personal job search work with no per-token bill.
- **Tailoring cover letters privately:** Feed a posting and your real experience to the local model, then review the draft knowing the employer you target stays on your own server.
- **Testing a local model against a hosted provider:** Run the same tailoring task on Ollama and a hosted provider, compare quality and wait time, then choose the setup that fits your privacy needs.

## Dependencies for Dossier Ollama Docker hosted on Railway

Dossier Ollama on Railway runs as two services in one project: the Dossier app, a Next.js 16 server on the official Dossier image, and a private PostgreSQL 18 database.

### Deployment Dependencies for Managed Dossier Ollama Service (Next.js app + PostgreSQL 18)

- **Dossier service:** image ghcr.io/onepush-dev/dossier:1.10.0, port 3000 public, volume at /data, healthcheck /api/health.
- **PostgreSQL service:** image ghcr.io/railwayapp-templates/postgres-ssl:18, volume at /var/lib/postgresql/data, private only.
- **Ollama service:** not in the template; add it as a private service listening on port 11434.
- **Key variables:** DATABASE_URL referenced from Postgres, DOSSIER_DATA_DIR=/data, DOSSIER_AI_PROVIDER=local, DOSSIER_AI_MODEL set to your model.

### Implementation Details for Dossier Ollama (Using Dossier official docker image)

The image runs railway-start.sh, which fixes /data ownership, hashes DOSSIER_LOGIN_PASSWORD into the argon2id DOSSIER_PASSWORD, and waits up to 120 seconds for Postgres.

## How does Dossier Ollama compare against other ways to run a private AI job search tool

### Dossier Ollama vs Teal (Teal Alternative)

- **Data location:** Dossier Ollama keeps your profile, postings and documents on your own Railway server, and with a local model the AI work runs there too. Teal is hosted, so your data lives on its platform.
- **Cost model:** The software is free and a local model costs nothing per request, though you pay for the Railway server. Teal's cost depends on the plan you choose.
- **Where Teal wins:** Teal is polished and works in a browser right away. Dossier Ollama needs a Railway project, an Ollama service and a model pull first.

### Dossier Ollama vs Rezi (Rezi Alternative)

- **Scope:** Rezi focuses on building and scoring a resume. Dossier Ollama covers the wider search, including tracked postings and cover letter drafts.
- **Model quality:** A local 7B model like qwen2.5:7b is slower and less capable than a large hosted model, so drafts may need more editing.
- **Where Rezi wins:** Rezi gets a clean, ATS friendly resume out quickly. If you only need a resume, it asks for less of you.

### Dossier Ollama vs Jobscan (Jobscan Alternative)

- **Purpose:** Jobscan compares one resume against one posting and reports keyword matches. Dossier Ollama keeps a full profile and drafts material from facts in it, flagging gaps instead of inventing them.
- **Privacy:** With a local provider, scored postings are not sent to TypeSafe. Jobscan processes your resume on its own servers.
- **Where Jobscan wins:** Its keyword report is fast and focused, which suits a quick check before you submit.

### Dossier Ollama vs Kickresume (Kickresume Alternative)

- **Focus:** Kickresume is a resume and cover letter builder with ready made designs. Dossier Ollama is a job search workspace, so documents follow from your tracked postings and profile.
- **Control:** You host Dossier Ollama and back it up on your own schedule. Kickresume stores your documents in its own service.
- **Where Kickresume wins:** It offers attractive layouts and a simple editor with almost no setup, while Dossier Ollama asks you to supply the design yourself.

## How to use Dossier Ollama (the OSS Local AI Models for Job Search)?

1. Add an Ollama service to your Railway project as a separate private service with no public domain, and note its internal address (for example `ollama`).
2. Pull `qwen2.5:7b` into it. Upstream the command is `docker compose exec ollama ollama pull qwen2.5:7b`, which applies only to the Compose stack, so on Railway use the Ollama service's own shell or an equivalent.
3. In the Dossier service variables, set `DOSSIER_AI_PROVIDER=local` and `DOSSIER_AI_MODEL=qwen2.5:7b`, then redeploy.
4. In the Dossier AI provider settings, set the Ollama base URL to `http://ollama:11434` (your service's internal address on port 11434), not `localhost`, which points at the container itself.
5. Open Dossier, go to Settings, then AI provider, choose Local model, and press Test connection.
6. Keep port 11434 closed to the public internet so only Dossier can reach Ollama.

```
DOSSIER_AI_PROVIDER=local
DOSSIER_AI_MODEL=qwen2.5:7b
```

## How to self host Dossier Ollama on other VPS Services (Dossier self hosting guide)

### Clone the Repository

Start on any Linux VPS with Docker and Docker Compose installed. Clone the template repository and move into the folder.

```bash
git clone https://github.com/onepush-dev/dossier.git
cd dossier
```

### Install Dependencies

Run Ollama in the same Compose stack so the base URL can name the service instead of localhost. Pull a model once the stack is up.

```bash
docker compose up -d
docker compose exec ollama ollama pull qwen2.5:7b
```

### Configure Environment Variables

Create a `.env` file with the Dossier secrets, the local provider, and the Compose profile. Use your-domain for the public address.

```bash
DOSSIER_SECRET=replace-with-a-long-random-value
DOSSIER_LOGIN_PASSWORD=replace-with-a-strong-password
DOSSIER_PUBLIC_URL=https://your-domain
DOSSIER_AI_PROVIDER=local
DOSSIER_AI_URL=http://ollama:11434
DOSSIER_AI_MODEL=qwen2.5:7b
COMPOSE_PROFILES=ai
```

Keep port 11434 closed to the public internet, and never use localhost as the base URL inside a container.

### Start the Dossier Ollama Application

Bring the stack up and check the health endpoint.

Railway handles hosting, TLS, and Postgres for you, while a VPS leaves all of that to you.

## Official Pricing of Dossier Ollama (Dossier pricing)

Dossier is free and open source under AGPL-3.0, so there is no license fee.

## Dossier Ollama cloud vs self hosted comparison (Pricing, features, costs, and more)

Self hosting Dossier with a local model replaces a hosted AI key with a server you pay for each month.

### Monthly cost of self hosting Dossier Ollama on Railway

You pay Railway for the Dossier service, the Postgres 18 database and a private Ollama service.

### System Requirements for Hosting Dossier Ollama on a VPS

On a VPS, the Dossier app, Postgres and Ollama share one machine. Upstream recommends 4 or more CPU cores, and a GPU helps much more.

## Frequently Asked Questions (FAQs)

### Does my profile stay on my server with a local provider?

Yes, if the Ollama server is one you run.

### Why does the connection fail with localhost?

Inside a container, localhost points at the container itself, not at Ollama.

### Which model should I pick for a small server?

Start with qwen2.5:3b, which needs about 3 GB of memory and suits small instances.

### How slow is a local model on CPU?

Slow.

### Does the Score feature send data anywhere with a local setup?

Not with a purely local setup.

### How do I rotate the login password without losing data?

Change DOSSIER_LOGIN_PASSWORD in the Dossier service variables and redeploy.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [Möbius v0.1 Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.

Open this page in a browser: https://railway.com/deploy/deploy-dossier-with-ollama-local-models
