Use host Ollama for Docker app runtime
This commit is contained in:
24
README.md
24
README.md
@@ -32,17 +32,29 @@ ollama pull qwen3.5:9b
|
||||
|
||||
## Docker Compose
|
||||
|
||||
Start both the app and `Ollama` together:
|
||||
Run the app in Docker while keeping `Ollama` on the host:
|
||||
|
||||
```bash
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
This compose stack will:
|
||||
- start `Ollama`
|
||||
- pull `qwen3.5:9b` through the `ollama-init` service
|
||||
- start the Next.js app on `http://localhost:3000`
|
||||
- persist the SQLite database and pulled model with named Docker volumes
|
||||
- start only the Next.js app on `http://localhost:3000`
|
||||
- keep SQLite data in a named Docker volume
|
||||
- connect to host `Ollama` through `host.docker.internal`
|
||||
|
||||
Before running Docker Compose, make sure host `Ollama` is already up:
|
||||
|
||||
```bash
|
||||
ollama serve
|
||||
ollama pull qwen3.5:9b
|
||||
```
|
||||
|
||||
If you run the app outside Docker, keep using:
|
||||
|
||||
```bash
|
||||
OLLAMA_URL=http://127.0.0.1:11434/
|
||||
```
|
||||
|
||||
## In-app helpers
|
||||
|
||||
@@ -53,5 +65,5 @@ This compose stack will:
|
||||
## Environment
|
||||
|
||||
- `DATABASE_URL` - Prisma SQLite connection string
|
||||
- `OLLAMA_URL` - local or container Ollama base URL
|
||||
- `OLLAMA_URL` - Ollama base URL; in Docker Compose this defaults to `http://host.docker.internal:11434/`
|
||||
- `OLLAMA_MODEL` - selected model tag, default `qwen3.5:9b`
|
||||
|
||||
@@ -1,50 +1,18 @@
|
||||
services:
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: monthytracker-ollama
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama_data:/root/.ollama
|
||||
healthcheck:
|
||||
test: ["CMD", "ollama", "list"]
|
||||
interval: 15s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
start_period: 20s
|
||||
|
||||
ollama-init:
|
||||
image: ollama/ollama:latest
|
||||
depends_on:
|
||||
ollama:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
OLLAMA_HOST: http://ollama:11434
|
||||
OLLAMA_MODEL: ${OLLAMA_MODEL:-qwen3.5:9b}
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
command: "ollama pull ${OLLAMA_MODEL:-qwen3.5:9b}"
|
||||
volumes:
|
||||
- ollama_data:/root/.ollama
|
||||
restart: "no"
|
||||
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
container_name: monthytracker-app
|
||||
depends_on:
|
||||
ollama:
|
||||
condition: service_healthy
|
||||
ollama-init:
|
||||
condition: service_completed_successfully
|
||||
environment:
|
||||
DATABASE_URL: file:/data/dev.db
|
||||
OLLAMA_URL: http://ollama:11434/
|
||||
OLLAMA_URL: ${OLLAMA_URL:-http://host.docker.internal:11434/}
|
||||
OLLAMA_MODEL: ${OLLAMA_MODEL:-qwen3.5:9b}
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
ports:
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- app_data:/data
|
||||
|
||||
volumes:
|
||||
ollama_data:
|
||||
app_data:
|
||||
|
||||
Reference in New Issue
Block a user