Miniflux 官网:https://miniflux.app/

GitHub 主页:https://github.com/miniflux/v2

新建 miniflux 文件夹用来放置相关配置:

mkdir miniflux
cd miniflux

然后建立 docker-compose.yml 配置文件,内容如下:

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:
      - "18080: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

其中需要自行根据实际情况修改一些内容:

port 端口的主机映射,这里我使用了 18080 映射容器内的 8080 端口
BASE_URL 设置需要访问 miniflux 服务的域名地址,后面需要配置反向代理
ADMIN_USERNAME 设置管理员用户名
ADMIN_PASSWORD 设置管理员用户密码
敏感的环境变量值可以单独放在同配置文件路径下的 .env 文件中,上面的 docker 安装教程中有介绍。

注意 DATABASE_URL 地址中的 postgres 用户名密码对应于 POSTGRES_USER 和 POSTGRES_PASSWORD 的值,需要保持一致。

然后就可以启动容器:

docker-compose up -d

反代配置

给 nginx 配置添加如下内容:

    location / {
        proxy_pass          http://127.0.0.1:18080;
        proxy_redirect      off;
        proxy_set_header    Host              $host;
        proxy_set_header    X-Forwarded-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;
        proxy_set_header    Upgrade           $http_upgrade;
        proxy_set_header    Connection        "upgrade";
        proxy_http_version  1.1;
    }