什么是 Miniflux ?
Miniflux
是一个极简主义的RSS
阅读器。它简单、快速、轻便且非常易于使用。Miniflux
是静态编译的单个二进制文件,没有使用任何复杂的框架,也没有外部依赖,简单、快速、轻巧且超级容易安装。支持Atom
、RSS 1.0
/2.0
、JSON
格式,支持OPML
导入 / 导出等。
安装
环境变量
与 docker
相关的环境变量
变量 | 缺省值 | 描述 |
---|---|---|
POSTGRES_DB | 无 | 数据库库名 |
POSTGRES_USER | 无 | 数据库用户 |
POSTGRES_PASSWORD | 无 | 数据库密码 |
DATABASE_URL | 无 | 数据库地址, postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@dbhost:dbport/${POSTGRES_DB}?sslmode=disable |
RUN_MIGRATIONS | 1 | 自动运行数据库迁移 |
CREATE_ADMIN | 1 | 创建管理员 |
ADMIN_USERNAME | 无 | 管理员账号名 |
ADMIN_PASSWORD | 无 | 管理员密码 |
更多的环境变量,请参考官方文档:https://miniflux.app/docs/configuration.html
docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷
下面安装时,老苏没有将数据库端口暴露出来
# 新建文件夹 miniflux 和 子目录
mkdir -p /volume2/docker/miniflux/data
# 进入 miniflux 目录
cd /volume2/docker/miniflux
# 创建网络
docker network create -d bridge miniflux-net
# 运行 PostgreSQL 容器
docker run -d \
--restart unless-stopped \
--name miniflux-db \
--network=miniflux-net \
-v $(pwd)/data:/var/lib/postgresql/data \
-e "POSTGRES_DB=miniflux" \
-e "POSTGRES_USER=miniflux" \
-e "POSTGRES_PASSWORD=YNAYcg3a9L3B" \
postgres:14
# 运行 Miniflux 容器
docker run -d \
--restart unless-stopped \
--name miniflux-web \
--network=miniflux-net \
-p 8120:8080 \
-e "DATABASE_URL=postgres://miniflux:YNAYcg3a9L3B@miniflux-db/miniflux?sslmode=disable" \
-e "RUN_MIGRATIONS=1" \
-e "CREATE_ADMIN=1" \
-e "ADMIN_USERNAME=laosu" \
-e "ADMIN_PASSWORD=jCdp64gMapAR" \
miniflux/miniflux:2.0.41
docker compose 安装
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
db:
image: postgres:14
container_name: miniflux-db
#restart: unless-stopped
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=YNAYcg3a9L3B
- POSTGRES_DB=miniflux
volumes:
- ./data:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "miniflux"]
interval: 10s
start_period: 30s
miniflux:
image: miniflux/miniflux:2.0.41
container_name: miniflux-web
#restart: unless-stopped
ports:
- "8120:8080"
depends_on:
- db
environment:
- DATABASE_URL=postgres://miniflux:YNAYcg3a9L3B@miniflux-db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=laosu
- ADMIN_PASSWORD=jCdp64gMapAR
然后执行下面的命令
# 新建文件夹 miniflux 和 子目录
mkdir -p /volume2/docker/miniflux/data
# 进入 miniflux 目录
cd /volume2/docker/miniflux
# 将 docker-compose.yml 放入当前目录
# 先启动数据库
docker-compose up -d db
# 再启动应用
docker-compose up miniflux
之所以没有采用 docker-compose up -d
一键启动,是因为虽然可以通过 depends_on
控制启动顺序,但是实际上miniflux
开始连接 postgres
时,有可能数据库并没有准备好,因而会导致 miniflux
容器启动失败
有两个办法可以解决这个问题:
-
第一种方法:先启动数据库
docker-compose up -d db
,再启动应用程序docker-compose up miniflux
-
第二种方法:是
docker-compose
官方给的建议,通过wait-for-it.sh
脚本来控制
wait-for-it.sh
代码地址:https://github.com/vishnubob/wait-for-it
相对来说,第一种方法更简单一点,第二种方法老苏也并没有用过,不知道在群晖上是否可行
运行
在浏览器中输入 http://群晖IP:8120
就能看到登录界面
登录成功之后的主界面还是空的
中文
进入 Settings
--> Language
--> 简体中文
点最下面的 Update
按钮之后,界面就是中文版了
添加源
还是以老苏的博客为例,源
--> 新增源
,输入 https://laosu.ml/atom.xml
点 查找源
按钮之后,会显示订阅界面
进入一篇
默认只有简介,也就是发布时的 description
部分
要看全文还需要抓取
虽然安装看起来有点复杂,但是使用是不是非常简单?
参考文档
miniflux/v2: Minimalist and opinionated feed reader
地址:https://github.com/miniflux/v2
dubhad-dev/miniflux-docker
地址:https://github.com/dubhad-dev/miniflux-docker
Installation Instructions
地址:https://miniflux.app/docs/installation.html#docker
v2/contrib/docker-compose at main · miniflux/v2
地址:https://github.com/miniflux/v2/tree/main/contrib/docker-compose