You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.1 KiB
32 lines
1.1 KiB
# 使用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"] |