CENTOS上用DOCKER创建RSSHUB服务
前文已搭建好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