Miniflux 私有 RSS 阅读器部署与订阅管理

之前用 Feedly 订阅 RSS,但很多技术博客没有原生 RSS,而且被墙的网站也无法访问。于是决定自建一个 RSS 阅读器。

为什么选择 Miniflux

  • 开源免费:MIT 许可证
  • 轻量级:Go 语言开发,资源占用少
  • 自托管:数据完全掌控在自己手中
  • 支持 Fever API:可以搭配各种第三方客户端使用

环境要求

  • Docker 已安装
  • 已有 PostgreSQL 或使用内置数据库

安装步骤

1. 创建目录结构

mkdir -p /root/docker/miniflux
cd /root/docker/miniflux
mkdir -p data pgsql_data

2. 配置 docker-compose

version: '2.4'

services:
  miniflux:
    image: miniflux/miniflux:latest
    container_name: miniflux
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    environment:
      - DATABASE_URL=postgres://miniflux:changeme@miniflux-db/miniflux?sslmode=disable
      - RUN_MIGRATIONS=1
      - CREATE_ADMIN=1
      - ADMIN_USERNAME=admin
      - ADMIN_PASSWORD=changeme
      - LISTEN_ADDR=:8082
    volumes:
      - ./data:/var/lib/miniflux

  db:
    image: postgres:16
    container_name: miniflux-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=miniflux
      - POSTGRES_PASSWORD=changeme
      - POSTGRES_DB=miniflux
    volumes:
      - ./pgsql_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "miniflux"]
      interval: 10s
      timeout: 5s
      retries: 5

3. 启动服务

docker-compose up -d

4. 验证状态

# 检查容器状态
docker ps | grep miniflux

# 测试 Web 访问
curl -s -o /dev/null -w "%{http_code}" http://localhost:8082
# 应返回 200

导入订阅源

我整理了一份可访问的技术博客订阅列表:

技术巨头

名称 RSS 地址
Kubernetes Blog https://kubernetes.io/feed.xml
AWS Blog https://aws.amazon.com/blogs/aws/feed/
Azure Blog https://azure.microsoft.com/blog/feed/
Red Hat Blog https://www.redhat.com/en/rss/blog

国内技术团队

名称 RSS 地址
美团技术团队 https://tech.meituan.com/feed/
有赞技术团队 https://tech.youzan.com/rss/

中文独立博客

名称 RSS 地址
胡涂说 https://hutusi.com/feed.xml
阮一峰的网络日志 https://www.ruanyifeng.com/blog/atom.xml
云风的 BLOG https://blog.codingnow.com/atom.xml
酷壳 https://coolshell.cn/feed

导入命令

# 批量导入 RSS 源
while read url; do
  curl -s -X POST \
    -u admin:changeme \
    -H "Content-Type: application/json" \
    -d "{\"feed_url\":\"$url\"}" \
    http://localhost:8082/v1/feeds
done < feeds.txt

使用效果

部署完成后,成功导入 10 个订阅源,包括:

  • 技术巨头官方博客(Kubernetes、AWS、Azure、Red Hat)
  • 国内一线技术团队博客(美团、有赞)
  • 优质中文独立博客(阮一峰、云风、酷壳等)

Web 界面访问地址:http://你的服务器IP:8082

初始账户:admin / changeme,建议首次登录后立即修改密码。

数据备份

数据目录说明:

/root/docker/miniflux/
├── docker-compose.yml    # 配置文件
├── data/                 # Miniflux 应用数据
└── pgsql_data/          # PostgreSQL 数据库文件

定期备份 pgsql_data 目录即可完整保存所有订阅数据和文章缓存。

参考资料


WireGuard 隧道下 SSH 连接卡死问题排查 OpenCode 任务状态管理问题:已完成的任务被重复执行