services: ollama: image: ollama/ollama container_name: ollama ports: - "11434:11434" volumes: - ollama:/root/.ollama restart: unless-stopped healthcheck: test: ["CMD", "ollama", "list"] timeout: 3s retries: 3 ollama-pull: image: ollama/ollama container_name: ollama-pull environment: - OLLAMA_HOST=http://ollama:11434 volumes: - ollama:/root/.ollama depends_on: ollama: condition: service_healthy entrypoint: /bin/bash command: -c "ollama pull ${MODEL_NAME:-llama3.2:3b}" restart: "no" paper-mate: build: . container_name: paper-mate environment: - OLLAMA_BASE_URL=http://ollama:11434 - MODEL_NAME=${MODEL_NAME:-llama3.2:3b} - MODEL_MAX_TOKENS=${MODEL_MAX_TOKENS:-512} - MODEL_TEMPERATURE=${MODEL_TEMPERATURE:-0.7} - RETRIEVER_K_BEFORE_RERANK=${RETRIEVER_K_BEFORE_RERANK:-80} - RETRIEVER_K_AFTER_RERANK=${RETRIEVER_K_AFTER_RERANK:-4} - RETRIEVER_K_CONSTANT=${RETRIEVER_K_CONSTANT:-60} depends_on: ollama-pull: condition: service_completed_successfully volumes: - ./src:/app/src - ./vector_store:/app/vector_store - uv_cache:/root/.cache/uv command: python -m src.gradio_app ports: - "8000:8000" volumes: uv_cache: ollama: