-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDockerfile
More file actions
46 lines (39 loc) · 1.25 KB
/
Copy pathDockerfile
File metadata and controls
46 lines (39 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
FROM python:3.12-slim
# 设置工作目录
WORKDIR /app
# 复制requirements文件并安装依赖
COPY requirements.txt /app/
RUN pip install -r requirements.txt
# 复制项目文件到容器中
COPY *.py /app/
# 创建数据目录
RUN mkdir -p /data
# 设置环境变量默认值
ENV YUQUE_BASE_URL="https://www.yuque.com"
ENV SAVE_PATH="/data"
ENV MONITOR_INTERVAL_MINUTES="10"
ENV EXPORT_FORMAT="pdf"
# 创建启动脚本
RUN echo '#!/bin/sh\n\
\n\
# 检查必要的环境变量\n\
if [ -z "$YUQUE_TOKEN" ] || [ -z "$YUQUE_SESSION" ]; then\n\
echo "错误: 请设置 YUQUE_TOKEN 和 YUQUE_SESSION 环境变量"\n\
echo "使用方法: docker run -e YUQUE_TOKEN=your_token -e YUQUE_SESSION=your_session ..."\n\
exit 1\n\
fi\n\
\n\
echo "语雀同步工具启动中..."\n\
echo "保存路径: $SAVE_PATH"\n\
echo "同步间隔: ${MONITOR_INTERVAL_MINUTES}分钟"\n\
echo "导出格式: $EXPORT_FORMAT"\n\
echo "语雀地址: $YUQUE_BASE_URL"\n\
\n\
# 主循环,按设定间隔同步\n\
while true; do\n\
python /app/main.py download\n\
echo "下载完成,等待${MONITOR_INTERVAL_MINUTES}分钟后再次同步..."\n\
sleep $((MONITOR_INTERVAL_MINUTES * 60))\n\
done' > /app/start.sh && chmod +x /app/start.sh
# 设置容器启动命令
CMD ["/app/start.sh"]