开源的RSS订阅器FreshRSS

周日的核酸提前到了周六,还以为不用做了

结果昨天又通知再连续 3 天的核酸

嗓子都捅出老茧了,这么热的天,大家都不容易,病毒就别 跟着凑热闹了。


什么是 FreshRSS ?

FreshRSS 是一款自由免费的 RSS 订阅器,界面美观,支持导入/导出为 OPML 文件、过滤、标记、搜索等。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 freshrss ,选择第一个 linuxserver/freshrss,版本选择 latest

之所以不选择第二个官方镜像,是因为 freshrss/freshrss 基于 apache 构建,在老苏的群晖上会遇到👇的错误

1
Function not implemented: AH00141: Could not initialize random number generator 

你在老苏的博客搜索 AH00141,会发现这个问题遇到过多次,主要是老苏的群晖内核版本太低( Linux kernel < 3.16)导致的问题

linuxserver/freshrss 是基于 nginx 构建,在老苏的群晖上没发现有什么明显的问题

docker 文件夹中,创建一个新文件夹,将其命名为 freshrss,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/freshrss/data /config 存放设置和数据

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
5380 80

只要设置 80 端口

老苏把不用的 443删了,因为老苏局域网用,即便是映射到互联网,也是用 npm 做反向代理,所以只要有 80 即可

环境

可变
TZ 设为 Asia/Shanghai
PUID 设为 1000
PGID 设为 1000

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 freshrss 和 子目录
mkdir -p /volume2/docker/freshrss/data

# 进入 freshrss 目录
cd /volume2/docker/freshrss

# 运行容器
docker run -d \
--restart unless-stopped \
--name freshrss \
-p 5380:80 \
-v $(pwd)/data:/config \
-e TZ=Asia/Shanghai \
-e PGID=1000 \
-e PUID=1000 \
linuxserver/freshrss:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: "2.1"
services:
freshrss:
image: linuxserver/freshrss:latest
container_name: freshrss
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./data:/config
ports:
- 5380:80
restart: unless-stopped

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 freshrss 和 子目录
mkdir -p /volume2/docker/freshrss/data

# 进入 freshrss 目录
cd /volume2/docker/freshrss

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5380 就能看到设置界面

从下拉框中选择 简体中文

Submit

个人使用的话,数据库使用了默认的 SQLite就足够了

如果你要用 MYSQL 也可以,只要先在 MariaDB 中建好库就行

设置用户和密码

完成了

确定之后会看到登录界面

终于到了主界面

现在还是什么都没有,所以要添加订阅,可以试试老苏的博客订阅地址:https://laosu.ml/atom.xml

如果订阅的多的话,最好是先建分类,再订阅;

直接点 提交 即可

再回到主页就有内容了

点开之后

扩展

官方的插件仓库地址:https://github.com/FreshRSS/Extensions

扩展 并不能直接安装(可能仅仅是 docker 版不行),需要下载后解压,放入到 /docker/freshrss/data/www/freshrss/extensions 目录中

再刷页面

移动端

认证 中勾选 允许 API 访问 (用于手机应用),使得 FreshRSS 支持通过手机客户端访问。

右上角的设置中进入 用户账户

API 密码 可以设也可以不设

点连接直接打开,有警告信息

这个地址少了端口,需要修改 /volume2/docker/freshrss/data/www/freshrss/data/config.php 文件

修改前要给 config 设置写入权限

找到 base_url ,加上端口

如果你映射到了公网,比如使用了域名,也在这里修改

再次刷新,之前的警告消失了

老苏之前 Android 一般是用 Parabre ,但是很奇怪不管是用 Google Reader compatible API 还是 Fever compatible API 都没成功,所以老苏换成了 FeedMe,直接就支持 FreshRSS

输入相关参数

  • 域名:用 Google Reader compatible API,所以地址是 http://192.168.0.197:5380/api/greader.php
  • 账号:登录 FreshRSS 后台的账号;
  • 密码:如果设置了 API 密码,就输入 API 密码,没有设置 API 密码 的话填登录 FreshRSS 后台的账号对应的密码;

登录成功之后

参考文档

FreshRSS/FreshRSS: A free, self-hostable aggregator…
地址:https://github.com/FreshRSS/FreshRSS

FreshRSS, a free, self-hostable aggregator…
地址:https://freshrss.org/