| services: | |
| ollama: | |
| image: ollama/ollama:latest | |
| volumes: | |
| - ollama-models:/root/.ollama | |
| healthcheck: | |
| test: ["CMD", "ollama", "list"] | |
| interval: 5s | |
| timeout: 5s | |
| retries: 20 | |
| # one-shot init container: pulls the model, then exits | |
| ollama-init: | |
| image: ollama/ollama:latest | |
| depends_on: | |
| ollama: | |
| condition: service_healthy | |
| environment: | |
| - OLLAMA_HOST=http://ollama:11434 | |
| volumes: | |
| - ollama-models:/root/.ollama | |
| # model is configurable via OLLAMA_MODEL in .env (default: llama3.2:3b); | |
| # on low-RAM machines set OLLAMA_MODEL=llama3.2:1b for a faster CPU run | |
| entrypoint: ["ollama", "pull", "${OLLAMA_MODEL:-llama3.2:3b}"] | |
| agent: | |
| build: . | |
| depends_on: | |
| ollama-init: | |
| condition: service_completed_successfully | |
| env_file: | |
| - .env | |
| environment: | |
| - OLLAMA_HOST=http://ollama:11434 | |
| volumes: | |
| # traces/ receives per-task JSON traces AND a copy of test_results.md | |
| - ./traces:/app/traces | |
| volumes: | |
| ollama-models: | |