之前使用他人提供的FreshRSS服务,因为网站证书过期导致使用不便。有一台可以使用的服务器,就考虑自建FreshRSS服务。同时日常使用官方RSSHub服务过程中,订阅源非常不稳定,经常不可用。发现vercel可以部署RSSHub,完成相应部署后,整体使用感受大幅提升,记录下过程,方便以后使用。
- 自备一个服务器
- 安装docker 和 docker-compose, 配置docker-compose.yml
- 启动指令docker-compose up -d
- 配置caddy配置文件caddyfile,方便使用域名访问
- 通过域名访问freshRSS,创建管理员账户和配置数据库
- 数据库信息对应Docker Compose 配置文件中的 POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_DB、表前缀任意填
- 主机名要稍微注意一下,要用容器的 IP(docker inspect )
- 手机上使用Reeder登录FreshRSS
- freshRSS 设置->认证->允许API访问
- freshRSS 设置->账户->API管理->设置AIP密码
- Reeder中使用API管理下的地址+用户名+API密码进行登录
- Freshrss参考文档
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
27
28
29
30
31
32
33
| version: "3"
services:
freshrss-db:
image: postgres:latest
container_name: freshrss-db
hostname: freshrss-db
restart: unless-stopped
volumes:
- freshrss-db:/var/lib/postgresql/data
environment:
POSTGRES_USER: freshrss
POSTGRES_PASSWORD: freshrss
POSTGRES_DB: freshrss
freshrss-app:
image: freshrss/freshrss:latest
container_name: freshrss-app
hostname: freshrss-app
restart: unless-stopped
ports:
- "7080:80"
depends_on:
- freshrss-db
volumes:
- ./data:/var/www/FreshRSS/data
- ./extensions:/var/www/FreshRSS/extensions
environment:
CRON_MIN: '*/45'
TZ: Asia/Shanghai
volumes:
freshrss-db:
|
- FreshRSS 镜像和容器升级后,无法访问
- 报错内容提示为
Access to database is denied for `freshrss`: SQLSTATE[08006] [7] connection to server at "172.21.0.3", port 5432 failed: Connection refused
, 怀疑是容器重启后,ip变更导致 - 查看容器ip,发现ip 变成了172.21.0.2
1
2
3
4
5
6
| # 进入容器 Shell
docker exec -it <容器名称或ID> /bin/bash
# 查看 IP 地址(容器内执行)
apt-get update && apt-get install -y iputils-ping net-tools # 如果容器无 ifconfig/ip 命令,先安装
ifconfig
|
- 修改配置文件,位于docker-compose.yml 同目录data/config.php,调整pgsql的host为172.21.0.2
- 重启freshrss 容器,问题解决
- 因为vercel nodejs 最高版本只能选择 20.x,导致无法使用RSSHub master分支部署,使用legacy 分支进行部署,操作流程见参考文档
- legacy 相比master分支缺少很多路由,需要自己按需添加路由
- 在master分支找到缺少的路由,复制到legacy分支,修改文件名尾缀ts为js,参考其他路由调整代码格式
- 在\RSSHub\lib\router.js中添加新增的路由地址
- 如果需要使用环境变量,在\RSSHub\lib\config.js中添加,并在vercel 对应的项目->设置->Environment Variables添加相同环境变量
- 使用vercel 部署的好处有
- 国内外网站的信息都可以直接抓取
- 无需服务器可以免费使用
- vercel rsshub部署参考文档
- caddy的安装参考文档
- 永久免费域名PP.UA最新注册指南