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或删除该环境变量,防止重复创建管理员。
四、部署步骤
- 打开群晖 Container Manager
- 左侧选择 项目 → 点击 新增
- 项目名称:
miniflux - 路径:选择
/volume1/docker/miniflux - 源代码:选择 使用 docker-compose.yml
- 粘贴上方配置,修改密码后点击 下一步
- 确认设置后点击 完成,等待镜像拉取和容器启动
五、初始登录与配置
- 打开浏览器访问:
http://NAS内网IP:8080 - 使用
ADMIN_USERNAME和ADMIN_PASSWORD登录 - 进入 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)
- 下载安装 Readrops(F-Droid 或 GitHub Releases)
- 服务器类型选择 Fever
- 服务器地址:
http://你的NAS地址:8080/fever - 用户名:你的 Miniflux 用户名
- API 密钥:在 Miniflux Settings → Integrations 中生成的 Fever API Key
七、外网访问配置
- 路由器端口映射:外部端口(如 8080)→ NAS 内网 IP:8080
- 建议配合 HTTPS 反向代理(群晖自带反向代理 + DDNS 证书),避免明文传输
- 访问地址:
http://域名:8080
八、日常维护注意事项
- 禁止 Watchtower 自动更新 PostgreSQL:数据库自动升级可能导致数据损坏,建议给 db 容器打标签排除自动更新
- 备份 pgdata 目录:所有 RSS 订阅和文章缓存在此目录,定期备份
- 清理历史文章:在 Settings → Maintenance 中可设置自动删除 N 天前的已读文章,控制数据库体积
- 不要手动改 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 文件上传即可批量导入。