Docker 玩法

飞牛NAS部署 FreshRSS:自建RSS阅读器

2026-07-30 2 admin

为什么需要自建RSS阅读器?

在信息爆炸的时代,我们每天都会访问大量网站:新闻、博客、论坛、技术社区……传统方式要么逐个打开收藏夹,要么依赖算法推荐。FreshRSS 是一款轻量级、可自托管的 RSS 聚合器,让你完全掌控自己的信息流,无广告、无追踪、完全私有。在飞牛NAS上部署 FreshRSS,只需几分钟,就能获得一个随时可访问的专属阅读中心。

准备工作

在开始之前,请确保你的飞牛NAS满足以下条件:

  • 已安装并正常运行飞牛NAS(fnOS)系统,推荐版本 v0.8.18 及以上
  • 拥有管理员权限,可访问 SSH 终端或 Docker 管理界面
  • 已开启 Docker 服务(飞牛NAS自带 Docker 支持)
  • 准备一个可用的域名或公网IP(可选,用于外网访问)

方法一:通过 Docker Compose 部署(推荐)

这是最简洁、可维护性最高的方式。通过一个 docker-compose.yml 文件即可完成全部配置。

步骤1:创建项目目录

通过 SSH 登录飞牛NAS,或直接在文件管理器中操作。建议将数据存储在专门的 Docker 数据卷中:

mkdir -p /vol1/1000/Docker/freshrss/data
mkdir -p /vol1/1000/Docker/freshrss/config

/vol1/1000 替换为你的实际存储路径,例如 /docker/freshrss

步骤2:编写 docker-compose.yml

freshrss 目录下创建 docker-compose.yml 文件,内容如下:

version: '3'
services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      - TZ=Asia/Shanghai
      - CRON_MIN='*/5 * * * *'
      - FRESHRSS_ENABLE_USER_QUERY=true
    volumes:
      - ./data:/var/www/FreshRSS/data
      - ./config:/var/www/FreshRSS/config

参数说明:

  • ports:将容器内80端口映射到宿主机8080端口。若8080被占用,可改为其他端口如9090。
  • TZ:时区设置,中国用户推荐 Asia/Shanghai
  • CRON_MIN:自动刷新频率,*/5 * * * * 表示每5分钟检查一次更新。
  • FRESHRSS_ENABLE_USER_QUERY:开启高级搜索功能。

步骤3:启动容器

freshrss 目录下执行:

docker-compose up -d

首次启动会自动拉取最新镜像,等待约1-2分钟即可完成。

步骤4:验证运行状态

docker ps | grep freshrss

如果看到 freshrss 容器状态为 Up,说明启动成功。

方法二:通过 Docker 命令行直接部署

如果你习惯纯命令行操作,也可以使用 docker run 快速部署:

docker run -d \
  --name freshrss \
  --restart unless-stopped \
  -p 8080:80 \
  -v /vol1/1000/Docker/freshrss/data:/var/www/FreshRSS/data \
  -v /vol1/1000/Docker/freshrss/config:/var/www/FreshRSS/config \
  -e TZ=Asia/Shanghai \
  -e CRON_MIN='*/5 * * * *' \
  freshrss/freshrss:latest

注意将路径和端口按需调整。

初始化配置

访问管理界面

打开浏览器,输入 http://你的飞牛NAS内网IP:8080,例如 http://192.168.1.100:8080。你将会看到 FreshRSS 的安装向导。

第一步:语言选择

选择“简体中文”,点击“下一步”。

第二步:数据库配置

FreshRSS 默认使用 SQLite,无需额外配置,直接点击“下一步”即可。如果你有更高性能需求,后续可手动迁移至 PostgreSQL 或 MySQL。

第三步:管理员账户设置

  • 用户名:建议用英文或拼音,例如 admin
  • 密码:设置一个强密码
  • 邮箱:可选,用于密码找回

点击“完成安装”后,系统会自动创建管理员账户。

第四步:登录与开始使用

使用刚创建的管理员账户登录,你将看到简洁的仪表盘。左侧是订阅分类,右侧是文章列表。

基本使用技巧

添加第一个订阅源

点击右上角的“订阅管理”按钮,选择“添加订阅”。输入任意 RSS 源地址,例如飞牛NAS官方博客:https://blog.fnnas.com/feed/,点击“查找”即可自动发现并添加。

导入现有订阅

如果你之前使用其他 RSS 阅读器(如 Feedly、Inoreader),可以导出 OPML 文件,然后在 FreshRSS 中点击“导入”上传。

配置自动刷新

在“设置” -> “账户” -> “订阅”中,可以修改刷新频率。建议保持每5-10分钟一次,避免过于频繁导致资源占用。

开启移动端优化

FreshRSS 自带的主题对移动端适配良好,你也可以安装第三方主题如 NordGruvbox,在“设置” -> “显示”中切换。

外网访问配置(可选)

如果需要在外网访问你的 RSS 阅读器,有以下两种常见方式:

使用飞牛NAS自带DDNS

在飞牛NAS的“网络设置”中开启 DDNS,绑定一个域名(如 yourname.fnnas.com)。然后在路由器上设置端口转发,将外部端口(如 8080)映射到飞牛NAS的内网 IP 和端口 8080。

使用反向代理(推荐)

如果你已部署 Nginx Proxy Manager 或 Traefik,可以添加一条规则,例如:

域名:rss.yourdomain.com
目标IP:192.168.1.100
目标端口:8080
启用SSL,自动申请证书

这样就能通过 https://rss.yourdomain.com 安全访问。

常见问题排查

无法访问管理界面

检查防火墙是否放行端口:sudo ufw allow 8080。同时在飞牛NAS的“安全中心”中确认端口未被拦截。

订阅更新失败

飞牛NAS默认使用阿里云 DNS,部分国外 RSS 源可能被屏蔽。可以在容器环境变量中添加 HTTP_PROXYHTTPS_PROXY 来配置代理。

数据库性能优化

如果你订阅超过 500 个源,建议改用 PostgreSQL。修改 docker-compose.yml 增加一个 PostgreSQL 服务即可。

总结

通过以上步骤,你已经在飞牛NAS上成功部署了 FreshRSS 自建 RSS 阅读器。整个过程不到10分钟,却为你带来了一个完全可控的信息聚合平台:没有算法推荐,没有广告追踪,只有你真正关心的内容。后续你还可以通过安装插件、自定义 CSS 主题、配置 API 与移动客户端(如 Reeder、Fiery Feeds)联动,进一步提升阅读体验。现在,开始享受纯粹的信息获取方式吧。