| 123456789101112131415161718192021222324252627282930313233 |
- FROM dev.data-turing.cn:14443/library/python:3.13-slim-bookworm AS build
- COPY --from=dev.data-turing.cn:14443/library/uv:latest /uv /uvx /bin/
- WORKDIR /app
- ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy UV_PYTHON_INSTALL_MIRROR="https://ghfast.top/https://github.com/astral-sh/python-build-standalone/releases/download"
- COPY uv.lock pyproject.toml ./
- RUN --mount=type=cache,target=/root/.cache/uv \
- uv sync --no-install-project --no-dev
- COPY . .
- RUN --mount=type=cache,target=/root/.cache/uv \
- uv sync --frozen --no-dev
- FROM dev.data-turing.cn:14443/library/python:3.13-slim-bookworm AS runtime
- ENV PATH="/app/.venv/bin:$PATH" \
- PYTHONUNBUFFERED=1 \
- MCP_HOST="0.0.0.0" \
- MCP_PORT="8501" \
- MCP_PATH="/mcp"
- RUN groupadd -g 1001 appgroup && \
- useradd -u 1001 -g appgroup -m -d /app -s /bin/false appuser
- WORKDIR /app
- COPY --from=build --chown=appuser:appgroup /app/.venv /app/.venv
- COPY --from=build --chown=appuser:appgroup /app/data_collector_mcp /app/data_collector_mcp
- COPY --from=build --chown=appuser:appgroup /app/pyproject.toml /app/pyproject.toml
- COPY --from=build --chown=appuser:appgroup /app/uv.lock /app/uv.lock
- USER appuser
- EXPOSE 8501
- CMD ["python", "-u", "-m", "data_collector_mcp"]
|