Miniflux 自建 RSS 阅读器:Docker 部署打造个人信息流

1448 字
7 分钟
Miniflux 自建 RSS 阅读器:Docker 部署打造个人信息流

痛点:信息太多,被算法推送绑架了#

刷今天的信息流——微博、抖音、公众号——每个平台都在用算法告诉你「该看什么」。

  • 想看的创作者内容可能根本刷不到
  • 广告和推荐内容占了大半屏幕
  • 关注的博客、技术网站更新了也不知道
  • Feedly / Inoreader 免费版限制订阅数,还要登录第三方账户

有没有一个方案:自己搭 RSS 服务器,订阅自己想看的内容,没有任何算法和广告

Miniflux 就是答案。

Miniflux 是什么?#

Miniflux 是一个用 Go 编写的极简 RSS/Atom 阅读器。它的核心理念是简单——单文件部署,一个二进制包含全部功能。

核心指标:

指标数据
⭐ GitHub Stars9.4k
🐹 语言Go(100%)
📦 最新版v3.0(2026-07 活跃开发中)
📄 许可证Apache-2.0
🐳 Docker 镜像miniflux/miniflux

为什么选 Miniflux?

特性MinifluxFeedlyInoreaderFreshRSS
部署方式单文件 🏆SaaSSaaSPHP+MySQL
免费订阅数无限制 🏆100 个150 个无限制
数据库PostgreSQL云端云端MySQL/PostgreSQL
广告 🏆有(免费版)有(免费版)
API 支持完整 REST API✅ Fever/Google Reader
第三方客户端✅ Reeder/Netscape等
自定过滤规则✅ 关键词+正则 🏆
全文抓取✅(付费)✅(付费)插件
开源Apache-2.0 🏆✅ AGPL

结论: Miniflux = 无限制订阅 + 纯净阅读 + 高性能 + 极低资源占用。

Docker 部署 Miniflux#

前置依赖:PostgreSQL#

Miniflux 需要 PostgreSQL 作为数据库。

docker-compose.yml
version: "3.8"
services:
postgres:
image: postgres:16-alpine
container_name: miniflux-db
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=your-strong-password
- POSTGRES_DB=miniflux
volumes:
- ./pgdata:/var/lib/postgresql/data
restart: unless-stopped
miniflux:
image: miniflux/miniflux:latest
container_name: miniflux
ports:
- "8080:8080"
environment:
- DATABASE_URL=postgres://miniflux:your-strong-password@postgres/miniflux?sslmode=disable
- RUN_MIGRATIONS=1 # 首次启动自动建表
- CREATE_ADMIN=1 # 创建管理员账号
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=your-admin-password
- POLLING_FREQUENCY=15 # 每 15 分钟检查更新
- BATCH_SIZE=10 # 每次并行检查 10 个订阅
- FETCH_ODYSEE=1 # 抓取 Odysssee(可选)
- FETCH_YOUTUBE_WATCH_TIME=1
depends_on:
- postgres
restart: unless-stopped

启动:

Terminal window
docker compose up -d

首次启动后,Miniflux 会自动创建数据库表和管理员账号。访问 http://你的服务器IP:8080 即可登录。

单容器快速测试#

如果只想快速试试:

Terminal window
docker run -d --name miniflux \
-p 8080:8080 \
-e DATABASE_URL=postgres://miniflux:password@host.docker.internal/miniflux?sslmode=disable \
-e RUN_MIGRATIONS=1 \
-e CREATE_ADMIN=1 \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=test123 \
miniflux/miniflux:latest

PostgreSQL 需提前在宿主机或另一容器中运行。

使用 Miniflux#

基本操作#

登录后可以看到极简风格的界面,左侧分类树,右侧文章列表:

  1. 添加订阅 — 点击右上角「Add」,输入 RSS/Atom 链接
  2. 分类管理 — 默认有「Unread」,可创建科技/博客/新闻等分类
  3. 阅读模式 — 默认网页视图,可切换原文视图
  4. 快捷键j/k 上下、v 打开原文、s 星标、m 标记已读

添加订阅源#

Miniflux 内置了发现功能,输入网站 URL 即可自动检测 RSS 地址:

https://news.ycombinator.com/
→ 自动发现 https://news.ycombinator.com/rss

手动添加:

https://blog.golang.org/feed.atom
https://github.blog/feed/
https://www.reddit.com/r/selfhosted/.rss
https://xkcd.com/rss.xml

过滤规则(高级功能)#

Miniflux 支持关键字和正则表达式过滤:

# 只看标题包含「Docker」或「Go」的文章
Type: Title contains
Keyword: Docker
# 屏蔽关键词
Type: Title does not contain
Keyword: "Sponsored"
# 正则过滤
Type: Title matches regex
Keyword: \b(Golang|Rust|Python)\b

过滤规则的作用:

  • 标记为已读 — 不感兴趣的自动跳过
  • 星标 — 自动标记感兴趣的内容
  • 保持未读 — 不匹配规则的文章保持未读状态

与第三方客户端配合#

Miniflux 提供完整的 REST API + Fever API 兼容层,几乎所有 RSS 客户端都支持:

客户端平台支持方式
ReedermacOS/iOSFever API
NetNewsWiremacOS/iOSFever API
NewsFlashLinuxFever API
Fluent ReaderWindows/LinuxFever API
Fiery FeedsiOSFever API
UnreadiOSFever API

Fever API 配置参数:

服务器地址: https://miniflux.yourdomain.com/fever/
用户名: admin
密码: 你在 Miniflux 的密码

用 Nginx/Caddy 反代 + HTTPS#

Nginx#

server {
listen 443 ssl;
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;
}
}

Caddy#

rss.yourdomain.com {
reverse_proxy miniflux:8080
}

常用 API 操作#

Miniflux 的 REST API 非常完整,可以完全通过 API 管理订阅:

Terminal window
# 获取 API Token
# 在 Miniflux 设置 → API Keys 中创建
# 列出所有订阅源
curl -u "admin:your-api-token" \
http://localhost:8080/v1/feeds | jq
# 导出 OPML
curl -u "admin:your-api-token" \
http://localhost:8080/v1/feeds/export > feeds.opml
# 批量导入 OPML
curl -u "admin:your-api-token" \
-X POST \
-H "Content-Type: application/xml" \
--data-binary @feeds.opml \
http://localhost:8080/v1/feeds/import
# 获取未读文章数
curl -s -u "admin:your-api-token" \
http://localhost:8080/v1/entries?status=unread&limit=1 | jq '.total'

FAQ#

Q:为什么要 PostgreSQL?不能用 SQLite 吗?

A:Miniflux 从 v2.0 起只支持 PostgreSQL。原因包括:全文搜索、并行连接处理、数据完整性保证。PostgreSQL 16 的 Docker 镜像仅 100MB,可以接受。

Q:Miniflux 资源占用高吗?

A:极低。Miniflux 本身约 15MB 内存,PostgreSQL 约 50MB。总共不到 100MB。

Q:可以多人共用吗?

A:可以。Miniflux 内置多用户支持,每个用户有独立的订阅源、分类和阅读状态。管理员可以在设置中添加用户。

Q:支持主题/深色模式吗?

A:支持。Miniflux 内置简洁的深色主题,在设置中切换。

Q:怎么迁移从 Feedly/Inoreader?

A:在旧服务中导出 OPML 文件,然后在 Miniflux 中导入即可。Feedly 和 Inoreader 都支持 OPML 导出。

Q:能抓取需要登录的网站吗?

A:Miniflux 支持自定义 HTTP 请求头,可以添加 Cookie 或 Token。在编辑订阅源时设置「Custom headers」。

Q:有中文界面吗?

A:Miniflux 的界面支持多语言,包括简体中文。在用户设置中切换语言。

总结#

Miniflux 是最纯粹的 RSS 阅读方案:

  1. 极简主义——干净到只有文章和文字,没有任何多余元素
  2. 高性能——Go 单文件 15MB 内存,PostgreSQL 持久化,每秒处理大量订阅
  3. API 优先——完美对接 Reeder / NetNewsWire 等高品质客户端
  4. 自定过滤——用正则和关键词精准控制想看的内容
  5. 开源可控——Apache-2.0 许可证,数据永远属于你

放弃算法推荐,用 RSS 把信息主动权夺回来——自建 Miniflux,只订阅你真正想看的。


本文由小啪撰写,基于 Miniflux v3.0。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Miniflux 自建 RSS 阅读器:Docker 部署打造个人信息流
https://www.kshare.top/posts/2026-miniflux-自建rss阅读器docker部署打造个人信息流/
作者
Kshare
发布于
2026-07-06
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Kshare
Hello, I'm Kshare.
公告
站点已开启广告(类型:弹窗广告),给您带来的不便敬请谅解。如有更好的广告建议,欢迎发送邮件至 t9uzrz6u@anonaddy.me,感谢您的支持!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
187
分类
9
标签
190
总字数
490,175
运行时长
0
最后活动
0 天前

文章目录