拥抱RSS

参考文章:

  • 部署到Vercel
  • Deploy RssHub on Vercel(部署RssHub在Vercel上)
  • FreshRSS/FreshRSS
  • 摆脱算法推荐!十分钟搭建属于自己的信息流——FreshRSS|好玩儿的Docker项目

首先明确下面安装的几个应用的作用:

  • RSSHub:用于生成订阅链接,让原本没有RSS链接的内容能够使用FreshRSS进行订阅;
  • FreshRSS:用于管理RSS,可直接在网页FreshRSS中进行阅读,也能够为Reeder提供后端服务;
  • Reeder:iOS端RSS阅读器,支持自部署后端。

安装RSSHub

  1. 进入RSSHub原仓库:https://github.com/DIYgod/RSSHub,点击右上角的Fork,取消勾选“Copy the master branch only”,我们要将所有分支都Fork到自己账号下;
  2. 进入Vercel,导入该仓库,会自动进行部署,此时自动部署应该会失败;
  3. 进入项目Settings-Git页面,点击Production -> Configure Productive Environment下的Productive Environment settings
  4. Branch Tracking修改为legacy,点击保存;
  5. 回到Settings-Git页面,在Deploy HooksCreate Hook下的两个框中都填入legacy,点击黑色的Create Hook
  6. 此时Deploy Hooks块中会生成一个legacy on legacy的链接,复制这个链接,输入到浏览器中打开以触发部署,打开后,回到项目Deployments,此时应该会有一个位于legacy分支的部署正在部署,此次部署会持续大概两分钟的时间;
  7. (可选)部署后点击项目,在Settings-Domains中新增一个域名,增加后记得去Cloudflare增加DNS记录;
  8. 访问你的域名,此时应可以访问了。

安装FreshRSS

直接给出docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
environment:
- CRON_MIN=*/10
- TZ=Asia/Shanghai
volumes:
- ./data:/var/www/FreshRSS/data
- ./extensions:/var/www/FreshRSS/extensions
ports:
- 12345:80
depends_on:
- postgres
restart: unless-stopped

postgres:
image: postgres:alpine
container_name: freshrss-postgres
environment:
- POSTGRES_USER=freshrss
- POSTGRES_PASSWORD=freshrss
- POSTGRES_DB=freshrss
volumes:
- ./freshrss-postgres-data:/var/lib/postgresql/data
restart: unless-stopped

其中:

  • CRON_MIN是刷新时间,上面配置中的刷新时间是10分钟刷新一次;
  • POSTGRES_USERPOSTGRES_PASSWORD可以自行修改,在后续安装过程中对应即可。

安装后先使用Nginx Proxy Manager进行反代,在步骤三数据库配置部分(表前缀留空):

  • 数据库类型:PostgreSQL
  • 主机:postgres
  • 数据库用户名:填入POSTGRES_USER代表的环境变量;
  • 数据库密码:填入POSTGRES_PASSWORD代表的环境变量;
  • 数据库:填入POSTGRES_DB代表的环境变量。

在安装后,还要开启移动端登录权限:

  1. 在“设置-认证”部分,勾选“允许API访问(用于手机应用)”;
  2. 在“设置-账户”部分,设置一个“API密码”,该密码就是手机端Reeder登录的密码。

配置Reeder

注意,国区Apple Store上没有Reeder,可以使用NetNewsWire作为平替。

在登录时,选择FreshRSS账号:

  • Serverhttps://example.com/api/greader.php
  • User:安装FreshRSS时设置的账户名;
  • Password:“设置-账户”部分设置的“API密码”。