Miniflux 群晖 Container Manager 部署教程

Miniflux 是一款极简、高性能的开源 RSS 阅读器,使用 Go 语言编写,资源占用极低,支持全文搜索、API、第三方客户端订阅。本文记录在群晖 NAS 上通过 Container Manager(Docker Compose)部署 Miniflux 的完整流程。


一、环境说明

  • 设备:群晖 NAS(如 DS1019+)
  • 部署方式:Container Manager → 项目(Docker Compose)
  • 依赖数据库:PostgreSQL(随 Compose 一起部署,无需单独安装)
  • 默认端口:8080(可自行修改)

二、前置准备:创建挂载目录

在 File Station 中提前创建以下文件夹,必须手动创建,否则容器启动失败:

/volume1/docker/miniflux/
├── pgdata/        # PostgreSQL 数据库数据目录
└── miniflux/      # Miniflux 配置目录(可选,主要配置走环境变量)

注意:如果使用 volume2 或 volume3,请将路径替换为实际存储卷路径。


三、docker-compose.yml 配置

在 Container Manager → 项目 → 新增项目,项目名称填 miniflux,路径选择 /volume1/docker/miniflux,粘贴以下配置:

services:
  db:
    image: postgres:15-alpine
    container_name: miniflux-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=miniflux
      - POSTGRES_PASSWORD=改成你自己的数据库密码
      - POSTGRES_DB=miniflux
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "miniflux"]
      interval: 5s
      timeout: 5s
      retries: 5

  miniflux:
    image: miniflux/miniflux:latest
    container_name: miniflux
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "8080:8080"
    environment:
      - DATABASE_URL=postgres://miniflux:改成你自己的数据库密码@db/miniflux?sslmode=disable
      - RUN_MIGRATIONS=1
      - CREATE_ADMIN=1
      - ADMIN_USERNAME=admin
      - ADMIN_PASSWORD=改成你自己的登录密码
      - LISTEN_ADDR=0.0.0.0:8080
      - TZ=Asia/Shanghai

配置说明

参数 说明
POSTGRES_PASSWORD PostgreSQL 数据库密码,两处必须一致
ADMIN_USERNAME 初始管理员用户名
ADMIN_PASSWORD 初始管理员登录密码
8080:8080 冒号左边是 NAS 端口,右边是容器内端口,左边可改

安全提示:部署完成后建议在设置中关闭 CREATE_ADMIN 或删除该环境变量,防止重复创建管理员。


四、部署步骤

  1. 打开群晖 Container Manager
  2. 左侧选择 项目 → 点击 新增
  3. 项目名称:miniflux
  4. 路径:选择 /volume1/docker/miniflux
  5. 源代码:选择 使用 docker-compose.yml
  6. 粘贴上方配置,修改密码后点击 下一步
  7. 确认设置后点击 完成,等待镜像拉取和容器启动

五、初始登录与配置

  1. 打开浏览器访问:http://NAS内网IP:8080
  2. 使用 ADMIN_USERNAME 和 ADMIN_PASSWORD 登录
  3. 进入 Settings → Integrations 可开启 Fever API、Google Reader API 等,供第三方客户端使用

开启 API(供手机/桌面客户端使用)

  • Settings → Integrations → 开启 Fever API
  • 设置 Fever API 密钥
  • 第三方客户端(如 Readrops、FeedMe、Fluent Reader)选择 Fever 协议,填写服务器地址和密钥

六、手机客户端推荐

平台 客户端 说明
Android Readrops 开源 Material Design,支持 Fever API,F-Droid 可下载
Android FeedMe 功能全面,支持 Fever API
iOS Reeder 经典 RSS 阅读器,支持 Fever
iOS Unread 简洁美观
全平台浏览器 Miniflux 官方 Web UI 直接浏览器访问即可用

Readrops 连接配置(Android)

  1. 下载安装 Readrops(F-Droid 或 GitHub Releases)
  2. 服务器类型选择 Fever
  3. 服务器地址:http://你的NAS地址:8080/fever
  4. 用户名:你的 Miniflux 用户名
  5. API 密钥:在 Miniflux Settings → Integrations 中生成的 Fever API Key

七、外网访问配置

  1. 路由器端口映射:外部端口(如 8080)→ NAS 内网 IP:8080
  2. 建议配合 HTTPS 反向代理(群晖自带反向代理 + DDNS 证书),避免明文传输
  3. 访问地址:http://域名:8080

八、日常维护注意事项

  1. 禁止 Watchtower 自动更新 PostgreSQL:数据库自动升级可能导致数据损坏,建议给 db 容器打标签排除自动更新
  2. 备份 pgdata 目录:所有 RSS 订阅和文章缓存在此目录,定期备份
  3. 清理历史文章:在 Settings → Maintenance 中可设置自动删除 N 天前的已读文章,控制数据库体积
  4. 不要手动改 pgdata 目录权限:Postgres 对权限要求严格,误改会导致数据库无法启动

九、常见问题

Q:容器启动后 502 错误? A:PostgreSQL 还在初始化,等 30 秒后刷新即可。

Q:忘记管理员密码? A:通过容器日志重置,或执行:

docker exec -it miniflux miniflux -reset-password <用户名>

Q:RSS 抓取慢? A:Settings → Integration 中可配置 HTTP 代理(如果服务器在国内访问国外源慢),或配置 Pocket/Instapaper 稍后阅读。

Q:如何导入旧 RSS 订阅? A:Settings → Feeds → Import OPML,将其他阅读器导出的 OPML 文件上传即可批量导入。