V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
joyoner
V2EX  ›  RSS

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

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

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

    网上有很多 Miniflux docker 的教程,普遍比较简单,只是解决了“如何搭建”的有无问题,很多 Miniflux 的进阶玩法并没有深入去讲。今年我会结合我的配置文件,讲一下我所认识的 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
    
    17 条回复    2024-10-25 14:58:30 +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  
       255 天前
    请教一下楼主,miniflux 支持下面这三项功能吗:1.全文搜索; 2.rss 过滤 3.添加代理(便于访问部分不能直接访问的站点的 rss )
    tzlovezaq
        12
    tzlovezaq  
       180 天前
    楼主问一下,为什么开启 PROXY_OPTION 之后,网页端可以正常加载图片,但是所有的客户端都无法显示图片啦?
    joyoner
        13
    joyoner  
    OP
       130 天前
    @tzlovezaq - PROXY_PRIVATE_KEY=password // 使用客户端缓存过文章,然后某个时间重启了 docker 实例,那么会导致图片无法显示的情况,这是因为每次重启会随机生成 PROXY_PRIVATE_KEY,所以可以增加参数 PROXY_PRIVATE_KEY 固化 key ,便于解决更新、重启等场景下的图片显示问题。
    yggjklkaytui
        14
    yggjklkaytui  
       90 天前
    @joyoner 1. 请教几个问题,PROXY_OPTION 是图片缓存,缓存后原服务器的图片失效,也照样可以查看?点击收藏后,不会自动清除?
    2. 我开启了 PROXY_IMAGES=all ,如果启用 PROXY_OPTION ,是不是要把 PROXY_IMAGES=all 关闭?
    yggjklkaytui
        15
    yggjklkaytui  
       90 天前
    还有一个问题,我是在同一个 vps 上自建有 Miniflux 和 rsshub ,可是在添加订阅用如 https://rsshub.xxxxxxxx.xyz/dapenti/tugua 后,几天后会出现报错:context deadline exceeded (Client.Timeout exceeded while awaiting headers),要在源--编辑--订阅源 URL 下面点更新才可以,这是怎么回事?
    xieyangwanmu
        16
    xieyangwanmu  
       83 天前
    @joyoner
    请问,为什么我 docker 搭建的 miniflux ,发现面板上那个“搜索”功能,几乎不能用。
    中文搜不到,连英文找关键字大部分也都是无搜索结果。
    是哪里要设置吗?
    decken
        17
    decken  
       65 天前
    @xieyangwanmu #16 postgrep 的镜像换成这个 fengkx/postgres:13-alpine 里面带了中文的支持
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   902 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 92ms · UTC 20:13 · PVG 04:13 · LAX 12:13 · JFK 15:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.