FROM python:3.12-slim WORKDIR /app # Copy project definition first (layer-cached separately from source) COPY pyproject.toml ./ COPY src/ src/ # All dependencies have pre-built wheels — no compiler needed RUN pip install --no-cache-dir -e . # Cache lives here — mount a named volume to persist across container runs VOLUME ["/root/.local/share/character_details"] # MCP servers communicate over stdio; no port needed CMD ["character-details"]