2023 年,我为什么选择 Miniflux 作为 RSS 主力工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
joyoner
V2EX    RSS

2023 年,我为什么选择 Miniflux 作为 RSS 主力工具

  •  3
     
  •   joyoner 2023-08-09 18:07:03 +08:00 14957 次点击
    这是一个创建于 798 天前的主题,其中的信息可能已经有所发展或是发生改变。

    距离上一篇2021 年,我为什么选择 Miniflux 作为 RSS 主力工具,已经过去两年了,依然在使用 Miniflux ,所以索性更新一下。

    网上有很多 Miniflux docker 的教程,普遍比较简单,只是解决了“如何搭建”的有无问题,很多 Miniflx 的进阶玩法并没有深入去讲。今年我会结合我的配置文件,讲一下我所认识的 Miniflux ,旨在让更多的人了解并拥抱,提出更有想法的配置和建议。

    Miniflux 的优点:

    1. 服务器自建(反代),相对 Feedly 和 Inoreader 的北美服务器,可以自由选择网络性能更为优异的线路,提高加载速度。
    2. 支持自定义刷新和拉取时间,避免打开 RSS 时浏览过时(半小时、几个小时前)的信息。同时还支持"entry_frequency"根据 feed 的历史更新情况动态调整拉取时间。
    3. 极简&纯粹,FreshRSS 、Tiny Tiny RSS 无论从界面还是功能,都太重了,而 Miniflux 恰恰是刚刚好。
    4. 支持图片代理,即服务器缓存图片,默认情况下,客户端是从 RSS 源头拉取的图片,这个有特殊的场景。跟第 1 点有点像。
    5. 支持 Google Reader/Fever API ,可以跨平台。
    6. 使用 WatchTower 实现 Miniflux docker 自动更新。
    7. Web 端支持快捷键。
    8. 支持全文,Miniflux 对全文的支持我觉得是最好的。

    官方参考文档: https://miniflux.app/docs/configuration.html

    至于客户端,智者见智,我个人使用 Reeder ,支持滑动标记已阅。另外 iOS 上的阅读器我基本都尝试过了,Reeder 首选,如果不介意”滑动标记已阅”功能,NetNewsWire 也是很好的选择,其他我就不推荐了。要么不支持 Google Reader API ,要么就是太卡,不信你试试。

    体验过的平台包括不限于: 托管:Feedly 、Inoreader 、The Old Reader 、Feedbin 自建:Tiny Tiny Rss 、FreshRss

    version: '3.4' services: miniflux: image: ${MINIFLUX_IMAGE:-miniflux/miniflux:latest} container_name: miniflux depends_on: - db environment: - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable - RUN_MIGRATIOnS=1 - FETCH_YOUTUBE_WATCH_TIME=1 - CREATE_ADMIN=1 - ADMIN_USERNAME=adminadmin //登录用户名 - ADMIN_PASSWORD=adminpassword //登录密码 - BASE_URL=https://rss.example.com //阅读器的域名 - POLLING_FREQUENCY=10 //每个 feed 的刷新间隔 - POLLING_PARSING_ERROR_LIMIT=0 //拉取出错后不会停止拉去,还是会按计划继续拉 - BATCH_SIZE=100 //每次拉取的 feed 数量 - POLLING_SCHEDULER=entry_frequency //拉取类型,根据上周的平均更新周期来拉取 - SCHEDULER_ENTRY_FREQUENCY_MAX_INTERVAL=30 //接上条,但也不会大于 30 分钟,建议和 POLLING_FREQUENCY 参数一起来看 - PROXY_OPTION=all //图片代理功能,Miniflux 先把源端的图片缓存到服务器上来,后续就不用客户端去源服务器拉了 - PROXY_PRIVATE_KEY=password // 使用客户端缓存过文章,然后某个时间重启了 docker 实例,那么会导致图片无法显示的情况,这是因为每次重启会随机生成 PROXY_PRIVATE_KEY,所以可以增加参数 PROXY_PRIVATE_KEY 固化 key ,便于解决更新、重启等场景下的图片显示问题。 - DATABASE_MAX_COnNS=50 //增加数据库连接数,对于多图片的 feed 非常有效,可以大幅提升加载和访问速度 - DATABASE_MIN_COnNS=5 // 同上 - WORKER_POOL_SIZE=10 //默认,或适当加大 restart: unless-stopped ports: - "127.0.0.1:8080:8080" db: image: postgres:15 container_name: postgres environment: - POSTGRES_USER=miniflux - POSTGRES_PASSWORD=secret volumes: - /root/miniflux/root_miniflux-db:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "miniflux"] interval: 10s start_period: 30s restart: unless-stopped 
    19 条回复    2025-08-27 21:25:51 +08:00
    lzzh0520
        1
    lzzh0520  
       2023-08-11 05:58:44 +08:00
    感谢您的分享,就是看了您的第一篇,我才入坑的,不懂 dockercompose ,所以折腾了很久才安装成功。
    coldle
        2
    coldle  
       2023-08-13 20:23:25 +08:00
    很详细的配置, 学习了, 一直没注意过 PROXY_PRIVATE_KEY 这个参数是干啥的
    suckmypenis
        3
    suckmypenis  
       2023-08-16 09:53:18 +08:00
    我在 openwrt 上没有部署成功. miniflux 日志: `Unable to connect to the database: dial tcp x.x.x.x: connect: connection refused`; PG 容器是正常运行状态.
    在另一台 Linux 主机上却没有问题.
    ghos
        4
    ghos  
       2023-08-22 16:53:02 +08:00
    谢谢分享~真的是一键部署~爽
    swords
        5
    swords      2023-08-28 18:02:47 +08:00 via iPhone
    感谢分享,一直在用
    Rang666
        6
    Rang666  
       2023-08-30 14:21:36 +08:00 via iPhone
    大佬,请问下比如我订阅了多个 BBC 的 rss ,里面会有很多文章在订阅源里重复出现,这种要怎么把重复的文章弄成已读
    hanumio
        7
    hanumio  
       2023-08-31 20:19:43 +08:00
    感谢分享,顺便想问下如何备份啊
    shinonome
        8
    shinonome  
       2023-10-06 12:32:30 +08:00
    //在我这里不是备注 TVT,#才是导致有些参数没部署上,
    nielinjie
        9
    nielinjie  
       2023-10-10 11:43:05 +08:00
    rss 新手请教:有了客户端不就可以看 rss 了么?为啥还需要一个服务端?
    YingJie
        10
    YingJie  
       2023-12-03 21:03:22 +08:00
    @nielinjie 很久之前接触过 RSS ,但是没仔细了解过,最近在找 RSS 程序,刚开始我也有这个问题,为什么有了 feedme ,fluent ,feeder 还要有 freshrss ,ttrss ,miniflux ,yarr 等,发现客户端没有自建的服务端好用,一个是客户端长时间不打开会刷新很多,变慢。第二个是过滤规则不如自建的灵活,第三个是自建的一般都可以网页阅读,还有可以结合服务端 api 写自己的阅读网站。
    regent
        11
    regent  
       2024-04-18 18:56:51 +08:00
    请教一下楼主,miniflux 支持下面这三项功能吗:1.全文搜索; 2.rss 过滤 3.添加代理(便于访问部分不能直接访问的站点的 rss )
    tzlovezaq
        12
    tzlovezaq  
       2024-07-02 20:41:15 +08:00
    楼主问一下,为什么开启 PROXY_OPTION 之后,网页端可以正常加载图片,但是所有的客户端都无法显示图片啦?
    joyoner
        13
    joyoner  
    OP
       2024-08-21 15:54:46 +08:00
    @tzlovezaq - PROXY_PRIVATE_KEY=password // 使用客户端缓存过文章,然后某个时间重启了 docker 实例,那么会导致图片无法显示的情况,这是因为每次重启会随机生成 PROXY_PRIVATE_KEY,所以可以增加参数 PROXY_PRIVATE_KEY 固化 key ,便于解决更新、重启等场景下的图片显示问题。
    yggjklkaytui
        14
    yggjklkaytui  
       2024-09-30 19:50:41 +08:00
    @joyoner 1. 请教几个问题,PROXY_OPTION 是图片缓存,缓存后原服务器的图片失效,也照样可以查看?点击收藏后,不会自动清除?
    2. 我开启了 PROXY_IMAGES=all ,如果启用 PROXY_OPTION ,是不是要把 PROXY_IMAGES=all 关闭?
    yggjklkaytui
        15
    yggjklkaytui  
       2024-09-30 20:07:40 +08:00
    还有一个问题,我是在同一个 vps 上自建有 Miniflux 和 rsshub ,可是在添加订阅用如 https://rsshub.xxxxxxxx.xyz/dapenti/tugua 后,几天后会出现报错:context deadline exceeded (Client.Timeout exceeded while awaiting headers),要在源--编辑--订阅源 URL 下面点更新才可以,这是怎么回事?
    xieyangwanmu
        16
    xieyangwanmu  
       2024-10-07 18:43:25 +08:00
    @joyoner
    请问,为什么我 docker 搭建的 miniflux ,发现面板上那个“搜索”功能,几乎不能用。
    中文搜不到,连英文找关键字大部分也都是无搜索结果。
    是哪里要设置吗?
    decken
        17
    decken  
       355 天前
    @xieyangwanmu #16 postgrep 的镜像换成这个 fengkx/postgres:13-alpine 里面带了中文的支持
    heavenleft
        18
    heavenleft  
       58 天前   1
    @yggjklkaytui 添加 HTTP_CLIENT_TIMEOUT 这个环境变量,值调到 120 (初始为 20s ,调到 2 分钟就没事了)
    yggjklkaytui
        19
    yggjklkaytui  
       49 天前
    @heavenleft 感谢,这个问题困扰我许久,ai 也没有正确答案,已解决
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1061 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 18:12 PVG 02:12 LAX 11:12 JFK 14:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86