前文已搭建好ttrss 源使用的rsshub源
在此记录下自搭建RSSHUB的过程

系统:CENTOS
环境:宝塔 DOCKER

宝塔安装教程

https://www.bt.cn/bbs/thread-19376-1-1.html

然后安装Docker

curl -fsSL https://get.docker.com/ | sh

启动Docker

sudo systemctl start docker

查看Dockers状态

sudo systemctl status docker

设置Docker开机自启

sudo systemctl enable docker

安装Dockers-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

更改权限

chmod +x /usr/local/bin/docker-compose

创建链接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

检查状态及版本

docker-compose --version

创建RSSHUB目录

mkdir rsshub && cd rsshub

下载 rsshub 的 docker-compose 配置文件

wget https://github.com/DIYgod/RSSHub/blob/master/docker-compose.yml

修改docker-compose.yml
environment:
- DB_HOST=db.postgres
- DB_PORT=5432
- DB_NAME=ttrss
- DB_USER=postgres
- ENABLE_PLUGINS=auth_internal,fever # auth_internal is required. Plugins enabled here will be enabled for all users as system plugins
env_file:
- ./ttrss.env
加入最后两行代码

创建rsshub.env文件 (后续一些服务可以在此文件配置)

touch rsshub.env

编辑rsshub.env(参考按下面这个链接 把需要的服务写入文件 不需要加引号)

https://docs.rsshub.app/install/#pei-zhi

创建 volume 持久化 Redis 缓存

docker volume create redis-data

启动

docker-compose up -d

如果后续需要更新
先删除容器

docker-compose down

如果之前已经下载 / 使用过镜像,下方命令可以帮助你获取最新版本:这可能可以解决一些问题。

docker pull diygod/rsshub

然后重复安装步骤

修改 docker-compose.yml 中的 environment 进行配置

如果修改了docker-compose.yml文件
可以先

docker-compose build

然后

docker-compose up -d --force-recreate

以此来重建容器

配置nginx反向代理
首先在宝塔创建rsshub.199188.xyz这个网站(PHP选择纯静态
然后申请SSL证书 开启强制HTTPS

修改配置文件
# location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
# expires 30d;
# error_log off;
# access_log /dev/null;
# }

# location ~ .*\.(js|css)?$
# {
# expires 12h;
# error_log off;
# access_log /dev/null;
# }
location / {
proxy_pass http://127.0.0.1:1234/;
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
access_log /www/wwwlogs/rsshub.199188.xyz.log;
error_log /www/wwwlogs/rsshub.199188.xyz.error.log;
}

使用#注释52-64的内容 添加65-75行的内容

接下来通过域名访问https://rsshub.199188.xyz

因为作者时常发布新版 可以考虑使用crontab定时更新
在目录下新建updater.sh 文件

touch updater.sh

赋予执行权限

chmod +x updater.sh

vi打开编辑文件

vi updater.sh

写入以下内容
#!/bin/sh
date=`date +"%Y%m%d"`
cd /root/rsshub
docker-compose down | tee rsshub_update_$date.txt > /dev/null
docker pull diygod/rsshub | tee -a rsshub_update_$date.txt > /dev/null
docker-compose up -d | tee -a rsshub_update_$date.txt > /dev/null
uptime | tee -a rsshub_update_$date.txt > /dev/null
mail -s 'RSSHUB_UPDATE' [email protected] < ./rsshub_update_$date.txt
rm -rf ./rsshub_update_$date.txt
使用这个可以执行更新并将更新情况发送到[email protected]
保存后可以执行试试 如果出现mail command not found ,可以执行 yum -y install mailx

然后创建crontab任务

crontab -e

增加一条
1 7 * * * sh /root/rsshub/updater.sh 2>&1 > /root/rsshub/crontab.log

以上表示 每天早上7点1分执行updater这个脚本 并将执行情况记录到crontab.log这个文件

参考

https://docs.rsshub.app/install/
https://elnathmojo.github.io/2019/06/03/%E7%94%A8Docker%E9%83%A8%E7%BD%B2%E4%B8%AA%E4%BA%BARSS%E6%9C%8D%E5%8A%A1-TTRSS+RSSHub.html
https://www.fecmall.com/doc/fecshop-guide/instructions/cn-1.0/guide-fecshop_docker_rebuild_yml.html
https://segmentfault.com/q/1010000003910053