在自己的服务器上快速部署RSSHub

本文最后更新于 2020年09月27日

折腾了两天,遇到不少问题,总算都解决了,过两天再写一篇tiny rss的教程

开始吧!

安装docker和docker-compose

2020.09.27 更新

docker-compose一把梭版

version: '3' services: rsshub: image: diygod/rsshub restart: always ports: - '1200:1200' environment: NODE_ENV: production CACHE_TYPE: redis REDIS_URL: 'redis://redis:6379/' PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000' depends_on: - redis - browserless browserless: image: browserless/chrome restart: always redis: image: redis:alpine restart: always volumes: - redis-data:/data watchtower: image: containrrr/watchtower container_name: watchtower restart: always environment: - TZ=Asia/Shanghai volumes: - /var/run/docker.sock:/var/run/docker.sock command: rsshub_service.rsshub_1 --cleanup --interval 1200 volumes: redis-data:

部署RSSHub

直接复制粘贴执行,一把梭

mkdir -p ~/rsshub cd ~/rsshub wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml # 有需要的可以自己定制docker-compose.yml docker volume create redis-data docker-compose up -d # 自动更新rsshub,并清理老旧镜像 docker run -d \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower --cleanup --interval 600 \ rsshub_service.rsshub_1 

使用NGINX反向代理RSSHub

显示所有容器IP地址,找到rsshub_service.rsshub_1的ip

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

找到rsshub_service.rsshub_1的IP后,编辑nginx配置

vi /etc/nginx/conf.d/rsshub.conf # 添加如下内容 server { listen 80; server_name 你的域名; location / { proxy_pass http://改成[rsshub_service.rsshub_1]的ip地址:1200; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

配置https和开启gzip

教程结束,rsshub由于路由表放在了本地,所以要隔三差五就要更新容器和镜像,为此我还写了脚本解决这个问题(用不上了,使用watchtower解决)

我写了一个脚本,来定时更新routes,写的比较粗糙 希望可以更新支持自动检查并更新routes mkdir -p ~/rsshub && cd ~/rsshub && vi new_routes.sh # 添加如下内容,wq保存 #!/bin/sh if [ -d "/tmp/RSSHub" ]; then echo '存在/tmp/RSSHub,删除/tmp/RSSHub' rm -rf /tmp/RSSHub fi cd /tmp echo '开始下载DIYgod/RSSHub' git clone https://github.com/DIYgod/RSSHub.git echo '拷贝新路由表到/app/lib/routes' docker cp /tmp/RSSHub/lib/routes rsshub_service.rsshub_1:/app/lib/ echo '清理下载文件' rm -rf /tmp/RSSHub 赋权并执行 chmod +x ~/rsshub/new_routes.sh sh ~/rsshub/new_routes.sh 添加定时任务 crontab -e # 每120分钟执行一次 */120 * * * * ~/rsshub/new_routes.sh

自动更新rsshub

原文链接:https://sleele.com/2019/06/14/%E5%9C%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2rsshub/

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享