RSSHub 轻量、易于扩展的 RSS 生成器 在自己的 VPS 上安装 RSSHub 教程

前言

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

然后重复安装步骤。