# 使用Python官方镜像作为基础镜像
FROM docker.1ms.run/library/python:3.11-slim

# 设置工作目录
WORKDIR /app

# 设置环境变量
# 默认检查间隔为30分钟（可被运行时环境变量覆盖）
ENV CHECK_INTERVAL_MINUTES=30
# 企业微信webhook地址（可被运行时环境变量覆盖）
ENV WECHAT_WEBHOOK_URL='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4226c76e-725b-4990-b926-05f16142e513'
# 设置Python日志输出环境变量，确保日志不缓冲
ENV PYTHONUNBUFFERED=1
ENV PYTHONIOENCODING=utf-8

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

# 复制脚本文件
COPY firmware_checker.py .
COPY firmware_versions.txt .

# 创建卷，以便可以持久化和修改versions.txt文件
VOLUME ["/app"]

# 添加健康检查（可选）
HEALTHCHECK --interval=60s --timeout=10s --start-period=5s --retries=3 \
  CMD python -c "import os; import sys; sys.exit(0 if os.path.exists('/app/firmware_checker.py') else 1)" || exit 1

# 设置容器启动时执行的命令
CMD ["python", "firmware_checker.py"]