Files
AgapHost/ollama/docker-compose.yml
alvis d37801806d services: add mood, moodtracker, overleaf, personal-sensing; update ollama
Compose and supporting code for four services that had been running or
prototyped without their config tracked here, per the repo convention that
agap_git holds the compose + config while application source lives in each
service's own Gitea repo.

Only placeholder credentials are included: mood/.env.example and
moodtracker/.env.example ship dummy values, and overleaf/variables.env carries
app name and feature flags only. Real values stay in Vaultwarden.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 04:42:58 +00:00

30 lines
1.0 KiB
YAML

services:
ollama:
image: ollama/ollama
container_name: ollama
ports:
- "11436:11434"
volumes:
- /mnt/ssd/ai/ollama:/root/.ollama
restart: always
environment:
# Allow qwen3:8b + qwen2.5:1.5b to coexist in VRAM (~6.7-7.7 GB on 8 GB GPU)
- OLLAMA_MAX_LOADED_MODELS=2
# One GPU inference at a time — prevents compute contention between models
- OLLAMA_NUM_PARALLEL=1
# Force all layers to GPU — fail instead of falling back to CPU
- OLLAMA_NUM_GPU=999
runtime: nvidia
mem_limit: 4g
# kb#190: `ollama list` just queries the local server's model registry --
# no model load/inference, cheap. This is a SEPARATE compose project from
# openai/docker-compose.yml (reached from there via
# host.docker.internal:11436), so it cannot be wired into that file's
# depends_on/condition chain -- this only gives it its own status.
healthcheck:
test: ["CMD-SHELL", "ollama list || exit 1"]
interval: 15s
timeout: 10s
retries: 5
start_period: 20s