docker中freshrss不自动更新问题解决方案
FreshRSS 的 Docker 镜像内置了一个 cron 进程,可以通过设置环境变量 CRON_MIN
来实现定期更新 RSS 订阅。以下是如何使用这个功能的步骤:
步骤 1: 修改 Docker Compose 文件
如果你使用 Docker Compose,可以在 docker-compose.yml
文件中添加 CRON_MIN
环境变量。以下是更新后的示例:
version: '3.8'
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
ports:
- "8080:80"
volumes:
- freshrss_data:/var/www/FreshRSS/data
environment:
- DB_TYPE=mysql
- DB_HOST=db
- DB_USER=freshrss
- DB_PASS=password
- DB_NAME=freshrss
- CRON_MIN=*/20 # 每20分钟更新一次
db:
image: mysql:5.7
container_name: freshrss_db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: freshrss
MYSQL_USER: freshrss
MYSQL_PASSWORD: password
volumes:
- db_data:/var/lib/mysql
volumes:
freshrss_data:
db_data:
步骤 2: 启动或更新容器
如果你已经启动了容器,可以使用以下命令重新启动以应用更改:
docker-compose down
docker-compose up -d
步骤 3: 验证 Cron 任务
-
检查日志: 你可以通过查看 FreshRSS 的日志文件来确认 cron 任务是否正常运行。可以使用以下命令查看日志:
docker logs freshrss
-
确认更新: 登录到 FreshRSS 界面,查看 RSS 订阅是否按预期更新。
注意事项
-
确保你设置的 CRON_MIN
值符合你的需求,例如*/20
表示每20分钟更新一次,13,43
表示在每小时的第13和第43分钟更新。 -
不设置 CRON_MIN
或将其设置为空字符串将禁用 cron 守护进程。
通过这种方式,你可以利用 FreshRSS Docker 镜像内置的 cron 功能,轻松实现 RSS 订阅内容的自动更新。