Files
2026-01-12 15:49:09 +08:00

65 lines
1.9 KiB
Bash

#!/bin/bash
set -e
echo "================================"
echo "小红书数据采集器启动脚本"
echo "================================"
# Git 自动更新功能
if [ "$ENABLE_GIT_PULL" = "true" ]; then
echo "Git 自动更新已启用"
# 如果是首次运行且配置了仓库地址,则克隆仓库
if [ ! -d "/app/.git" ] && [ -n "$GIT_REPO_URL" ]; then
echo "克隆仓库: $GIT_REPO_URL"
cd /tmp
git clone "$GIT_REPO_URL" repo
cd repo
git checkout "${GIT_BRANCH:-main}"
cp -r . /app/
cd /app
rm -rf /tmp/repo
echo "仓库克隆完成"
fi
# 启动 Git 自动拉取后台任务
if [ -d "/app/.git" ]; then
echo "启动 Git 自动拉取服务(间隔: ${AUTO_PULL_INTERVAL:-3600}秒)"
(
while true; do
sleep "${AUTO_PULL_INTERVAL:-3600}"
echo "[Git Pull] 检查更新..."
cd /app
# 获取当前分支
CURRENT_BRANCH=$(git branch --show-current)
# 拉取最新代码
if git fetch origin "${CURRENT_BRANCH}" && git reset --hard "origin/${CURRENT_BRANCH}"; then
echo "[Git Pull] 代码已更新"
# 检查是否有 Python 文件变化
if git diff --name-only HEAD@{1} HEAD | grep -q '\.py$'; then
echo "[Git Pull] Python 代码有变化,需要重启容器"
# 可以在这里发送重启信号
fi
else
echo "[Git Pull] 拉取失败"
fi
done
) &
fi
else
echo "Git 自动更新未启用"
fi
echo "启动 Web 服务..."
echo "端口: ${PORT:-18085}"
echo "无头模式: ${HEADLESS:-false}"
echo "================================"
# 启动应用
exec python main.py