# Docker + Ollama Setup

> Run Resume Matcher in Docker with Ollama on your machine: set the base URL to host.docker.internal:11434 so the container can reach your local models.
- **Section**: Setup
- **URL**: https://resumematcher.fyi/docs/docker-ollama/

---

## Default Docker + Ollama Flow

The checked-in Docker setup still serves Resume Matcher on a single public origin at `http://localhost:3000`. To use Ollama with Docker, run Ollama on the host machine and point Resume Matcher at it.

## Host Ollama Setup

1. Install Ollama from [ollama.com](https://ollama.com).
2. Pull a model on the host, for example:

```bash
ollama pull gemma3:4b
```

3. Start Resume Matcher from the app repo root with Ollama wired in:

```bash
LLM_API_BASE=http://host.docker.internal:11434 docker compose up -d
```

4. Open `http://localhost:3000/settings` and set:
   - **Provider:** `Ollama`
   - **Model:** `gemma3:4b` (the default) or another model you already pulled
   - **Base URL:** `http://host.docker.internal:11434`

   Switching the provider to Ollama fills the Base URL with `http://localhost:11434`. Inside the container, that address points at the container itself, not your machine, so change it before you save. A Base URL saved in Settings takes priority over `LLM_API_BASE`.

## URLs

| Surface | URL |
|---------|-----|
| App | `http://localhost:3000` |
| Settings | `http://localhost:3000/settings` |
| Health | `http://localhost:3000/api/v1/health` |
| API docs | `http://localhost:3000/docs` |

## What This Page Covers

This page documents the supported host-Ollama pattern for Docker.

- Resume Matcher stays on `http://localhost:3000`
- Ollama runs on the host machine
- `LLM_API_BASE` points the containerized app at the host Ollama server

If you decide to run Ollama in a separate container, treat that as a custom compose extension. It is not the checked-in default Docker flow.

## Troubleshooting

**Ollama is not responding**

Check the host Ollama service:

```bash
curl http://localhost:11434/api/tags
```

**Resume Matcher cannot reach Ollama**

Open Settings and check that the Base URL is `http://host.docker.internal:11434`, not `http://localhost:11434`. Then make sure you started Docker with:

```bash
LLM_API_BASE=http://host.docker.internal:11434 docker compose up -d
```

**Responses are slow**

Use a smaller local model or free up memory on the host.

## Next Steps

- [Docker Installation](/docs/docker-installation/)
- [Features](/docs/features/)