- FastMCP server with 12 tools (pullzone, cache, statistics, shield) - Dockerfile with multi-stage build (python:3.11-slim + uv) - K8s manifests (Deployment + Service) - Gitea Actions CI/CD pipeline (build → push → deploy)
24 lines
563 B
Docker
24 lines
563 B
Docker
FROM python:3.11-slim AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
|
|
|
COPY pyproject.toml uv.lock* ./
|
|
|
|
RUN uv pip install --system --no-cache -e . || uv pip install --system --no-cache .
|
|
|
|
COPY bunnycdn_mcp/ ./bunnycdn_mcp/
|
|
|
|
FROM python:3.11-slim
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
|
|
COPY --from=builder /usr/local/bin /usr/local/bin
|
|
COPY --from=builder /app/bunnycdn_mcp ./bunnycdn_mcp
|
|
|
|
EXPOSE 8001
|
|
|
|
ENTRYPOINT ["python", "-m", "bunnycdn_mcp"]
|