FROM docker.io/library/python:3.12-slim-trixie@sha256:f3fa41d74a768c2fce8016b98c191ae8c1bacd8f1152870a3f9f87d350920b7c COPY --from=ghcr.io/astral-sh/uv:0.11.17@sha256:03bdc89bb9798628846e60c3a9ad19006c8c3c724ccd2985a33145c039a0577b /uv /uvx /bin/ # Install dependencies # 1. curl (required for container healthcheck probes) # 2. git (required for caldav dependency from git) # 3. sqlite for development with token db RUN apt update && apt install --no-install-recommends --no-install-suggests -y \ curl \ git \ tesseract-ocr \ sqlite3 && apt clean WORKDIR /app COPY pyproject.toml uv.lock README.md . RUN uv sync --locked --no-dev --no-install-project --no-cache --extra postgres COPY . . RUN uv sync --locked --no-dev --no-editable --no-cache --extra postgres ENV PYTHONUNBUFFERED=1 ENV VIRTUAL_ENV=/app/.venv ENV PATH=/app/.venv/bin:$PATH ENV TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata ENTRYPOINT ["/app/.venv/bin/nextcloud-mcp-server", "run", "--host", "0.0.0.0"]