| FROM python:3.11-slim | |
| # Install Ollama | |
| RUN apt-get update && apt-get install -y curl && \ | |
| curl -fsSL https://ollama.com/install.sh | sh && \ | |
| apt-get clean | |
| WORKDIR /app | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| COPY . . | |
| ENV OLLAMA_MAX_LOADED_MODELS=2 | |
| ENV COMPUTE_STRATEGY=round_robin | |
| ENV PORT=8000 | |
| EXPOSE 8000 11434 | |
| # Pull both models then start orchestrator | |
| CMD bash -c "\ | |
| ollama serve & sleep 5 && \ | |
| ollama pull ${REASONER_MODEL:-gemma4:e4b-instruct-q4_K_M} && \ | |
| ollama pull ${CODER_MODEL:-qwen3.5:4b-instruct-q4_K_M} && \ | |
| python orchestrator.py" | |