# WeMM-Embedding 服务 Dockerfile
FROM nvidia/cuda:12.1-runtime-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1

# 安装系统依赖
RUN apt-get update && apt-get install -y \
    python3-pip \
    python3-dev \
    git \
    ffmpeg \
    libgl1-mesa-glx \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# 创建应用目录
WORKDIR /app

# 复制依赖文件
COPY requirements.txt .
COPY wemm_service.py .

# 安装 Python 依赖
RUN pip install --no-cache-dir -r requirements.txt

# 环境变量
ENV WEMM_MODEL=tencent/WeMM-Embedding-2B
ENV PORT=8765
ENV MAX_DIMENSION=2048
ENV HF_ENDPOINT=https://hf-mirror.com

# 暴露端口
EXPOSE 8765

# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
    CMD python3 -c "import requests; r=requests.get('http://localhost:8765/health'); exit(0 if r.status_code==200 else 1)" || exit 1

# 启动命令
CMD ["python3", "wemm_service.py"]
