type
Post
status
Published
date
Jan 23, 2022
slug
ubuntu-rsshub-install
summary
通过docker-compose在私人服务器上部署RSSHub, 可以自由订阅大部分反爬严格的源.
tags
RSS
Linux
category
日常记录
icon
password

运行环境

系统: Ubuntu 20.04 64位

前置依赖

推荐使用Docker-Compose部署, 比较简单方便, 以下为各项依赖的安装

Docker的安装

标准软件源中的Docker可能不是最新版本, 接下来将通过Docker的官方软件源安装最新的Docker.
输入下述指令, 更新软件包索引, 安装依赖以添加HTTPS软件源
sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
导入源仓库的GPG Key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将Docker APT软件源添加到系统中
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装最新版本的Docker
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
查看版本号以验证是否成功安装
docker --version
正常输出如下:
Docker version 20.10.12, build e91ed57

Docker-Compose的安装

就是一个二进制文件, 可以通过以下指令直接安装(指令中../v2.2.3/..为当前最新版本号, 可自行去docker-compose的releases界面查看最新版本的tag)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
上述指令的本质就是从releases中下载一个符合服务器架构的二进制文件, 放到 /usr/local/bin/ 文件夹, 所以如果你的服务器从github下东西也非常慢的话, 可以本地下载然后SFTP传过去, 效果是一样的.
下载完成后, 输入下述指令将其权限设置为 可执行
sudo chmod +x /usr/local/bin/docker-compose
至此, Docker-Compose的安装完毕, 可以查看版本检验安装是否成功
docker-compose --version
正常输出如下:
Docker Compose version v2.2.3

RSSHUB

部署

服务器带宽小的话, 建议开个tmux或者screen再开始部署, 初次部署有些依赖镜像要近半个G.
自己建一个属于RssHub的文件夹, 然后按照官方文档Docker Compose部署 逐步进行.

配置

通过Docker Compose部署, 配置的修改都在 docker-compose.yml 文件的environment 项下, 将需要配置的键值对补在其下即可, 常见配置项值可参考官方文档, 修改配置后需要重新启动服务.
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 # 下文略

测试

在浏览器中输入 主机ip:设定的端口号(默认1200), 如能显示出网页如下, 则运行正常.
notion image
如果有使用浏览器插件RSSHub Radar, 在设置中将自定义RSSHub域名更改为 http://{主机ip}:{设定的端口号} , 如果有密钥的话可以也设置上, 这样就可以快速生成订阅链接了.

Sources

利用Taster自动切换壁纸&锁屏常用设计模式的伪C++简单实现