使用Tiny Tiny Rss + RSSHub 搭建个人 RSS 服务

起因

我个人平时喜欢浏览很多的内容,然后在一堆信息中寻找一些比较有价值的内容,记录并保存,这样的做法不仅浪费了自己不少精力,还让自己的期眼睛近期总是觉得干涩的要命,早晨起来之后眼睛也是干干的,直到晨跑洗漱后才有所好转。基于这样的问题,我审视了一下我自己的习惯,打算利用RSS来先筛选一遍信息源,减少阅读量,提高高质量内容的占比。

另外一点就是自己之前买过一个服务器,一直用做自己的博客(idtimw.com),感觉稍微有点浪费,想着正好用上,感觉也算是值回票价了。

我使用的配置是 Tiny Tiny Rss + RSSHub 的组合来满足我的需求,这两天用下来感觉还算不错,但是在配置上的时候坑还不少,索性自己将过程记录下来,给一些需要同学做个参考,也当给自己做个备份了。

安装 Tiny Tiny RSS 服务

  • 安装 Docker
curl -fsSL https://get.docker.com/ |  sh
  • 启动 Docker
sudo systemctl start docker
  • 查看 Docker 状态
sudo systemctl status docker

显示出类似这样的内容,就说明已经成功运行了。

  • 安装 Docker-compose
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  • 给安装好的 docker-compose可执行权限
chmod +x /usr/local/bin/docker-compose
  • 检查 docker-compose 是否安装成功
docker-compose --version

显示出类似这样的内容,就说明已经安装成功。

  • 安装 Tiny Tiny RSS 服务
# 创建 ttrss 目录并进入
mkdir ttrss && cd ttrss

# 利用 curl 下载 ttrss 的 docker-compose 配置文件至服务器
curl -fLo docker-compose.yml https://github.com/HenryQW/Awesome-TTRSS/raw/master/docker-compose.yml
  • 修改 数据库 密码(使用 Vim 打开 docker-compose.yml 文件),这里可以使用你顺手的编辑器。
# docker-compose.yml 

PG_PASSWORD=ttrss # 改成自己设置的密码
DB_PASSWORD=ttrss # 重复设置的密码

SELF_URL_PATH=http://localhost:181/ # 这里改成你最中希望的网址
  • 启动Tiny Tiny RSS 服务,在 ttrss 目录下执行
docker-compose up -d
  • 检查运行状态 docker ps

我这里是包含了我服务器上的所有在 docker 上的服务,只安装了 ttrss,那么应该就只会显示 ttrss 相关的服务,并不需要和我的完全一致。

  • 如果发现问题,修改 docker-compose的配置文件之后,执行下列问题
# 关闭 Docker 容器们
docker-compose down

# 删除已停止的 Docker 容器
docker-compose rm

# ……
# 修改 docker-compose 配置文件
# ……

# 再次开启 Docker 服务
docker-compose up -d

安装 RSSHub 服务

剩下的基本逻辑也都差不多,其实我安装的流程和官方文档中展示的一样,没啥特殊的,有兴趣可以直接去官网看看 RSSHub Docs 这里就做简单记录。

  • 回到根目录,在目录创建对应的项目文件夹
mkdir rsshub && cd rsshub
  • 下载 docker-compose
wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml
  • 检查是否需要修改的配置
vim docker-compose.yml #记住对应的端口
  • 创建 volume 持久化 Redis 缓存
docker volume create redis-data
  • 启动
docker-compose up -d

安装 Caddy 设置 Docker 容器的反向代理

如果所有的服务都直接暴露在外面还是挺危险的,这里我使用了 Caddy服务来给我的服务设置了反向代理,同理 Nginx 也是可以,但我觉得 Caddy 的设置更加简单,所以就用它了。

如果没啥问题,之前的内容在输入ip:181的时候,应该是可以进入到 Tiny Tiny RSS 网站的,如果进不去,可以先去查查是不是防火墙给限制了,如果限制了还需要将将端口打开,这里就不多说明了。

  • 安装 Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
  • 查看 Caddy 是否安装成功
caddy version
  • 配置 Caddy
    先创建设置文件,这里我使用了 Vim 来处理
vim /etc/caddy/Caddyfile

我自己将 Tiny Tiny RSS 和 RSSHub 服务设置到了二级域名上,主域名是我的blog,所以这快只要增加下面的代码即可

ttrss.idtimw.com { 
reverse_proxy 127.0.0.1:181
encode zstd gzip
}

rsshub.idtimw.com { 
encode zstd gzip
reverse_proxy 127.0.0.1:1200
}

如果是和我一样布置到了二级域名上,那么还需要到自己的域名服务商,设置DNS解析,二级域名直接指到咱服务器的IP即可

另外我基本都是在 苹果的设备环境,使用了 Reeder 来阅读内容,这里需要在 Tiny Tiny RSS 上设置 Fever 插件,方式比较简单,但是但是这里有个比较坑的地方,我按照页面提醒的URL去登陆,尝试了好多次都失败了,最后我在搜索问题中偶然看到了其他用户设置的 URL: https://ttrss.idtimw.com/plugins/fever/ 尝试了一下发现竟然成功了,如果有同样问题的小伙伴,可以尝试一下。

这篇内容到这里基本就差不多了,剩下就是进入网站设置对应的配置了,这里就不在这里多说了,可以分别看对应的教程。

如果您认同我的文章,请帮忙点赞,转发,让更多的人看到,您的支持就是我最大的动力❤️