本文最后更新于 10 天前,其中的信息可能已经过时,如有 错误/失效 请发送邮件到qimeng9420@foxmail.com或留言。
测试环境
uname -a
docker --version
docker-compose --version
创建RSShub运行目录
切换到自己的docker项目下(即自己的项目想要运行的目录),创建RSShub文件夹并进入到该目录
cd /etc/docker
mkdir -p RSShub && cd RSShub
开启RSShub防火墙端口
开启服务器防火墙端口
RSShub默认的设置端口为1200,开启防火墙1200端口(如果自己要设置为其他端口,自行开设其他端口)
#开启1200端口
firewall-cmd --zone=public --add-port=1200/tcp --permanent
#重载防火墙使1200端口生效
firewall-cmd --reload
#查看1200端口是否已经生效
firewall-cmd --query-port=1200/tcp
#返回yes即生效
配置docker-compose.yml文件
使用最新版本的 docker 映像
diygod/rsshub
diygod/rsshub:latest
#如需启用 puppeteer,请在每条命令中均将 diygod/rsshub 替换为 diygod/rsshub:chromium-bundled
rsshub:chromium-bundled,它是puppeteer版本,更加轻量,更新速度也更快。官方最新tag查看。推荐使用RSS订阅该tag的更新。
可以看到目前chromium-bundled最新版本为chromium-bundled-2024-01-11
在RSShub文件夹下创建docker-compose.yml文件
vim docker-compose.yml
编辑以下内容
version: '3.9'
services:
rsshub:
image: diygod/rsshub:chromium-bundled
restart: always
ports:
- '1200:1200' # 监听端口,按需修改
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
ACCESS_KEY: admin # 对RSShub生成的订阅链接进行验证和加密,推荐开启。
depends_on:
- redis
redis:
image: redis:alpine
restart: always
volumes:
- ./redis-data:/data
上线和查看服务
上线服务
docker-compose up -d
查看服务是否运行
docker ps
更新
手动更新RSShub
docker版rsshub是经常更新(每天1-3更),建议按需更新至最新版。
#在RSShub的docker-compose.yml所在文件夹下运行
#下线服务
docker-compose down
#拉去镜像,以下两条命令任选一条都可
docker-compose pull
docker pull diygod/rsshub:chromium-bundled
再重新上线
docker-compose up -d
自动更新RSShub
自动更新RSShub我们需要借用另外一个软件:Watchtower
Watchtower 是一款自由开源的应用,它本身自己也是一个 Docker 镜像,主要作用是用来监控运行中的容器最初启动时的镜像是否需要更新。