diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 7008c41b..9c60b3bf 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -206,13 +206,17 @@ services: # first start; exits quickly on subsequent starts (model already cached). # The ollama/ollama image's ENTRYPOINT is `ollama` and the image ships WITHOUT # curl, so the entrypoint is overridden to a shell and readiness is probed with - # `ollama list` (not curl). Backend degrades gracefully (503) if Ollama is absent. + # `ollama list` (not curl). The pull is guarded by a `grep` on the cached model + # list so a model already on the volume exits clean WITHOUT a registry round-trip + # — a host reboot during a registry/network blip can no longer fail init (which + # would block the ollama service via service_completed_successfully). + # Backend degrades gracefully (503) if Ollama is absent. ollama-model-init: image: ollama/ollama:0.30.6 restart: "no" entrypoint: ["/bin/sh", "-c"] command: - - "ollama serve & until ollama list >/dev/null 2>&1; do sleep 1; done && ollama pull qwen2.5:7b-instruct-q4_K_M" + - "ollama serve & until ollama list >/dev/null 2>&1; do sleep 1; done && (ollama list | grep -q 'qwen2.5:7b-instruct-q4_K_M' || ollama pull qwen2.5:7b-instruct-q4_K_M)" networks: - archiv-net volumes: