FreshRSS RSS 阅读器搭建教程

FreshRSS 是一款功能丰富的开源 RSS 阅读器,可以自行部署在服务器上,替代已关闭的 Google Reader 以及需要付费的 Feedly 等服务。它支持多用户、完善的分类管理、全文抓取和丰富的 API 接口,是自托管 RSS 阅读方案中最受欢迎的选择之一。本文将介绍如何在搬瓦工 VPS 上部署 FreshRSS。

一、FreshRSS 功能特点

  • 多用户支持:一个实例可以为多个用户提供服务,每个用户有独立的订阅和设置。
  • 分类管理:使用分类和标签组织订阅源,支持拖拽排序。
  • 全文抓取:对于只提供摘要的 RSS 源,可以自动抓取完整文章内容。
  • 过滤规则:设置关键词过滤规则,自动标记或隐藏特定文章。
  • API 兼容:兼容 Google Reader API 和 Fever API,可以使用众多第三方客户端。
  • 扩展插件:支持通过插件扩展功能,如 YouTube 订阅、全文提取等。
  • OPML 导入导出:方便从其他 RSS 阅读器迁移订阅源。
  • 键盘快捷键:支持丰富的键盘快捷键,提高阅读效率。

二、环境准备

  • 搬瓦工 VPS 一台,512MB 内存即可(使用优惠码 NODESEEK2026 享受 6.77% 折扣)。
  • 已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
  • 域名一个(推荐)。

三、Docker Compose 部署

mkdir -p /opt/freshrss
cat > /opt/freshrss/docker-compose.yml <<'EOF'
version: '3.8'

services:
  freshrss:
    image: freshrss/freshrss:latest
    restart: always
    ports:
      - "8080:80"
    environment:
      TZ: Asia/Shanghai
      CRON_MIN: '3,33'
    volumes:
      - /opt/freshrss/data:/var/www/FreshRSS/data
      - /opt/freshrss/extensions:/var/www/FreshRSS/extensions
    logging:
      options:
        max-size: "10m"
EOF

CRON_MIN: '3,33' 表示每小时的第 3 分钟和第 33 分钟自动刷新订阅源。

四、启动和初始化

cd /opt/freshrss
docker compose up -d

访问 http://VPS_IP:8080,首次访问会显示安装向导:

  1. 检查系统要求(通常都会通过)。
  2. 选择数据库类型(默认 SQLite 即可,也可选 PostgreSQL)。
  3. 创建管理员账号和密码。
  4. 完成安装。

五、配置反向代理

cat > /etc/nginx/sites-available/freshrss <<'EOF'
server {
    listen 80;
    server_name rss.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

ln -sf /etc/nginx/sites-available/freshrss /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d rss.yourdomain.com

六、配置第三方客户端

FreshRSS 兼容 Google Reader API 和 Fever API,可以使用众多优秀的第三方客户端:

6.1 启用 API 访问

  1. 登录 FreshRSS,进入「设置」>「认证」。
  2. 勾选「允许 API 访问」。
  3. 设置 API 密码(可以与登录密码不同)。

6.2 推荐客户端

  • Android:FeedMe、EasyRSS、ReadYou
  • iOS:Reeder、NetNewsWire、lire
  • 桌面:Fluent Reader、NewsFlash

在客户端中选择 Google Reader 或 Fever 协议,填入 FreshRSS 的 API 地址即可同步。

七、全文抓取配置

很多 RSS 源只提供文章摘要。FreshRSS 可以通过扩展抓取完整文章内容:

# 下载全文抓取扩展
cd /opt/freshrss/extensions
git clone https://github.com/kevinpapst/freshrss-xExtension.git xExtension-ReadingTime

然后在 FreshRSS 设置中启用相应扩展。也可以在订阅源设置中为特定源开启 CSS 选择器提取。

八、使用 PostgreSQL 数据库

如果订阅量较大,建议使用 PostgreSQL 替代默认的 SQLite:

cat > /opt/freshrss/docker-compose.yml <<'EOF'
version: '3.8'

services:
  postgres:
    image: postgres:15-alpine
    restart: always
    environment:
      POSTGRES_DB: freshrss
      POSTGRES_USER: freshrss
      POSTGRES_PASSWORD: freshrss_password
    volumes:
      - pg_data:/var/lib/postgresql/data

  freshrss:
    image: freshrss/freshrss:latest
    restart: always
    depends_on:
      - postgres
    ports:
      - "8080:80"
    environment:
      TZ: Asia/Shanghai
      CRON_MIN: '3,33'
    volumes:
      - /opt/freshrss/data:/var/www/FreshRSS/data
      - /opt/freshrss/extensions:/var/www/FreshRSS/extensions

volumes:
  pg_data:
EOF

九、数据备份

# 导出 OPML 订阅列表(通过 Web 界面)
# 备份数据目录
tar czf /opt/freshrss/backup_$(date +%Y%m%d).tar.gz /opt/freshrss/data

十、常见问题

部分 RSS 源无法订阅

某些网站可能屏蔽了来自 VPS IP 的访问。可以在 FreshRSS 设置中配置代理服务器来访问这些源。

自动刷新不工作

确认 CRON_MIN 环境变量已正确设置。可以查看容器日志确认 cron 任务是否正常执行:

docker compose logs freshrss | grep -i cron

总结

FreshRSS 是自托管 RSS 阅读的最佳选择之一,功能丰富且稳定可靠。如果你更偏好极简风格,可以参考 Miniflux RSS 阅读器。搭配 Wallabag 稍后阅读 可以构建完整的信息获取和阅读体系。选购搬瓦工 VPS 请访问 bwh81.net,使用优惠码 NODESEEK2026 享受 6.77% 折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。