Files
mnote/services/ollama/docker-compose.yml
T

55 lines
1.5 KiB
YAML
Raw Permalink Normal View History

2025-11-23 10:55:04 +08:00
version: "3.9"
services:
ollama:
image: ollama/ollama:0.4.2
container_name: aimnote-ollama
restart: unless-stopped
ports:
- "${OLLAMA_PORT:-11434}:11434"
volumes:
- ollama_data:/root/.ollama
environment:
# 为了让模型常驻内存,否则频繁调度时会被逐出
- OLLAMA_KEEP_ALIVE=${OLLAMA_KEEP_ALIVE:-24h}
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:11434/api/version"]
interval: 30s
timeout: 10s
retries: 5
deploy:
resources:
reservations:
devices:
- capabilities: ["gpu"]
count: "${OLLAMA_GPU_COUNT:-0}"
limits:
cpus: "${OLLAMA_CPU_LIMIT:-4}"
memory: "${OLLAMA_MEMORY_LIMIT:-16g}"
ollama-model-init:
image: curlimages/curl:8.11.1
container_name: aimnote-ollama-init
depends_on:
ollama:
condition: service_started
restart: "no"
entrypoint: ["/bin/sh", "-c"]
# 通过 OpenAI 兼容 API 主动预拉取 qwen3-embedding 与 qwen2.5
command: |
until curl -fsS http://ollama:11434/api/version >/dev/null 2>&1; do
echo "等待 Ollama 服务启动..."
sleep 2
done
for model in "qwen3-embedding:8b" "qwen2.5:14b"; do
echo "准备拉取 $model"
curl -fsS -X POST http://ollama:11434/api/pull \
-H "Content-Type: application/json" \
-d "{\"name\":\"$model\"}" || exit 1
done
echo "模型拉取完成"
volumes:
ollama_data:
driver: local