diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cf60c11 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS uv + +WORKDIR /app + +ENV UV_COMPILE_BYTECODE=1 + +ENV UV_LINK_MODE=copy + +RUN --mount=type=cache,target=/root/.cache/uv \ + --mount=type=bind,source=uv.lock,target=uv.lock \ + --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ + uv sync --frozen --no-install-project --no-dev --no-editable + +ADD . /app +RUN --mount=type=cache,target=/root/.cache/uv \ + uv sync --frozen --no-dev --no-editable + +FROM python:3.12-slim-bookworm + +WORKDIR /app + +COPY --from=uv /root/.local /root/.local +COPY --from=uv --chown=app:app /app/.venv /app/.venv + +ENV PATH="/app/.venv/bin:$PATH" + +ENTRYPOINT ["mcp-server-calculator"]