Dockerfile.auto_put_ad_mini 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. FROM registry.cn-hangzhou.aliyuncs.com/stuuudy/python:3.13-slim
  2. WORKDIR /app
  3. # 安装系统依赖(使用阿里云镜像源)
  4. RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources \
  5. && apt-get update \
  6. && apt-get install -y --no-install-recommends curl \
  7. && rm -rf /var/lib/apt/lists/*
  8. # 复制依赖文件:Agent 框架依赖 + 业务特有依赖
  9. COPY requirements.txt ./requirements-framework.txt
  10. COPY examples/auto_put_ad_mini/requirements.txt ./requirements-business.txt
  11. # 安装 Python 依赖(使用阿里云 PyPI 镜像)
  12. # 先安装框架依赖(含 langchain_core/browser-use 等),再装业务依赖
  13. RUN pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ \
  14. -r requirements-framework.txt \
  15. -r requirements-business.txt
  16. # 复制项目代码(参考成功案例的风格)
  17. COPY agent/ ./agent/
  18. COPY im-client/ ./im-client/
  19. COPY examples/auto_put_ad/ ./examples/auto_put_ad/
  20. COPY examples/auto_put_ad_mini/ ./examples/auto_put_ad_mini/
  21. # 设置工作目录到业务目录(参考成功案例)
  22. WORKDIR /app/examples/auto_put_ad_mini
  23. # 创建输出目录
  24. RUN mkdir -p outputs/{raw,ad_status,reports,execution_log,data}
  25. # 设置环境变量
  26. ENV PYTHONUNBUFFERED=1 \
  27. TZ=UTC \
  28. PYTHONPATH=/app
  29. # 暴露端口
  30. EXPOSE 8080
  31. # 健康检查
  32. HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
  33. CMD curl -f http://localhost:8080/health || python -c "import pathlib; pathlib.Path('/app/examples/auto_put_ad_mini/outputs').exists()" || exit 1
  34. # 启动命令
  35. CMD ["python", "server.py"]