# 用 uv 官方镜像构建。需要 Docker 24+。
FROM ghcr.io/astral-sh/uv:latest

WORKDIR /app

# 复制依赖声明与源码（server.py 是平铺脚本，已在 pyproject 里标为 wheel 顶层模块）
COPY pyproject.toml server.py ./

# 建隔离环境并安装（会构建 wheel 并暴露 console script：cloud-asset-mcp）
RUN uv venv /opt/venv \
 && uv pip install --python /opt/venv/bin/python .

ENV PATH="/opt/venv/bin:$PATH"

# 后端地址由部署时注入（docker run -e ASSET_BASE_URL=...）。
# 用户 token 由客户端通过 X-Asset-Token 请求头带来，服务端不存 token。
ENV ASSET_BASE_URL=http://127.0.0.1:18039

EXPOSE 8765

# Streamable HTTP 模式，监听所有网卡
CMD ["cloud-asset-mcp", "--http", "--host", "0.0.0.0", "--port", "8765"]
