前言

RSSHub 是一款轻量、开源、简单易用、易于扩展的 RSS 生成器,基于 node.js 10,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容,目前不仅仅支持微信公众号、B 站、微博、即刻、网易云音乐、掘金、简书、知乎、自如、快递、贴吧、豆瓣、pixiv 等内容。

注意,RSSHub 不是阅读器,它是一个用来生成 RSS 源的工具,并且你需要一台能够运行 node.js 或者是 Docker 的电脑来长期运行 RSSHub,当然推荐使用 VPS,除了能够实现稳定的源以外,还能抓取 Instagram 等内容源。

官方文档:https://docs.rsshub.app/

Github项目:https://github.com/DIYgod/RSSHub

部署教程:https://docs.rsshub.app/install/

部署

Docker Compose 部署

安装

下载 docker-compose.yml(opens new window)

wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml

创建 volume 持久化 Redis 缓存

$ docker volume create redis-data

启动

$ docker-compose up -d
更新

删除旧容器

$ docker-compose down

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

$ docker pull diygod/rsshub

然后重复安装步骤

添加配置

修改 docker-compose.yml (opens new window)中的 environment 进行配置

Docker 部署

安装

运行下面的命令下载 RSSHub 镜像

$ docker pull diygod/rsshub

然后运行 RSSHub 即可

$ docker run -d --name rsshub -p 1200:1200 diygod/rsshub

在浏览器中打开 http://127.0.0.1:1200/ (opens new window),enjoy it! ✅

您可以使用下面的命令来关闭 RSSHub

$ docker stop rsshub
更新

删除旧容器

$ docker stop rsshub
$ docker rm rsshub

然后重复安装步骤

添加配置

配置运行在 docker 中的 RSSHub,最便利的方法是使用 docker 环境变量

以设置缓存时间为 1 小时举例,只需要在运行时增加参数:-e CACHE_EXPIRE=3600

$ docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 -e GITHUB_ACCESS_TOKEN=example diygod/rsshub

该部署方式不包括 puppeteer 和 redis 依赖,如有需要请改用 Docker Compose 部署方式或自行部署外部依赖

更多配置项请看 #配置

Ansible 部署

这个 Ansible playbook 包括了 RSSHub, Redis, browserless (依赖 Docker) 以及 Caddy 2

目前只支持 Ubuntu 20.04

需要 sudo 权限和虚拟化能力(Docker 将会被自动安装)

安装
sudo apt update
sudo apt install ansible
git clone https://github.com/DIYgod/RSSHub.git ~/RSSHub
cd ~/RSSHub/scripts/ansible
sudo ansible-playbook rsshub.yaml
# 当提示输入 domain name 的时候,输入该主机所使用的域名
# 举例:如果您的 RSSHub 用户使用 https://rsshub.example.com 访问您的 RSSHub 实例,输入 rsshub.example.com(去掉 https://)
更新
cd ~/RSSHub/scripts/ansible
sudo ansible-playbook rsshub.yaml
# 当提示输入 domain name 的时候,输入该主机所使用的域名
# 举例:如果您的 RSSHub 用户

手动部署

部署 RSSHub 最直接的方式,您可以按照以下步骤将 RSSHub 部署在您的电脑、服务器或者其他任何地方

安装

首先是下载 RSSHub 的源码

$ git clone https://github.com/DIYgod/RSSHub.git
$ cd RSSHub

下载完成后,需要安装依赖(开发不要加 --production 参数)

使用 npm

$ npm ci --production

或 yarn

$ yarn install --production

由于众所周知的原因,在中国使用 npm 下载依赖十分缓慢,建议挂一个代理或者考虑使用 NPM 镜像(opens new window)

启动

然后在 RSSHub 文件夹中运行下面的命令就可以启动

$ npm start

$ yarn start

或使用 PM2(opens new window)

$ pm2 start lib/index.js --name rsshub

在浏览器中打开 http://127.0.0.1:1200/ (opens new window),enjoy it! ✅

详细使用说明参照 指南 (opens new window),替换所有路由例子中的 https://rsshub.app/ 为 http://localhost:1200 即可正常使用

添加配置

可以通过设置环境变量来配置 RSSHub

在项目根目录新建一个 .env 文件,每行以 NAME=VALUE 格式添加环境变量,例如

    CACHE_TYPE=redis
    CACHE_EXPIRE=600

注意它不会覆盖已有的环境变量,更多规则请参考 dotenv(opens new window)

该部署方式不包括 puppeteer 和 redis 依赖,如有需要请改用 Docker Compose 部署方式或自行部署外部依赖

更多配置项请看 #配置

更新

在 RSSHub 文件夹中运行下面的命令就从 github 仓库拉取最新版本

$ git pull

然后重复安装步骤。