
简介
什么是 DanB-RSS ?
DanB-RSS是一个开源的RSS聚合阅读工具,采用BookStack的作者Dan Brown开发,基于PHP、Laravel、Inertia.js、Tailwind和Vue.js构建,界面简洁现代,支持多种布局模式。
主要特点
- 支持 RSS 和 ATOM 格式:兼容主流的订阅源格式,覆盖面广
- 自动定时抓取 :默认每小时自动更新一次,可配置最短
5分钟的抓取间隔 - 四种布局模式 :支持卡片(
Card)、网格(Grid)、列表(List)和紧凑(Compact)四种视图 - 自定义标签和颜色:可为每个订阅源设置名称、颜色和标签,方便分类管理
- 暗色模式:跟随系统主题,自动切换亮色/暗色模式
- 全文搜索:支持对文章标题和描述进行搜索
- 开放图谱图片 :自动抓取页面的
OG图片作为文章缩略图 - 移动端适配:响应式设计,手机浏览体验良好
- 数据自动清理:支持按天数自动清理过期文章
- 开源免费 :基于
MIT协议开源,可免费使用和修改
应用场景
- 个人阅读管理:订阅感兴趣的博客、新闻和技术网站,在一个界面集中阅读
- 信息流聚合:将多个信息源合并为统一的社交信息流风格界面
- 轻量级自托管 :适合在
NAS或低功耗服务器上部署,资源占用小

DanB-RSS 是一个轻量且美观的 RSS 阅读工具,适合需要简洁信息流体验的个人用户。
安装
在群晖上以 Docker 方式安装。
由于镜像托管在 Codeberg 容器注册表中,群晖 Docker 套件无法直接搜索,需要通过命令行拉取镜像。
准备工作
容器内的 Caddy 以 www 用户身份运行,但默认试图绑定特权端口 80(<1024),而 Linux 上非 root 用户无权绑定低端口。
但 RSS 镜像的原始 Caddyfile 里面对应的是 Laravel/PHP 应用路由,不能简单的覆盖,需要先把原始 Caddyfile 拉出来再修改
bash
# 先把原始 Caddyfile 拉出来
docker run --rm codeberg.org/danb/rss:latest cat /app/docker/Caddyfile > ./Caddyfile.txt

然后编辑 Caddyfile.txt,把 :80 改成 :5280
注意有
2处,都需要改

docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
bash
# 新建文件夹 danbrss 和 子目录
mkdir -p /volume1/docker/danbrss/data
# 进入 danbrss 目录
cd /volume1/docker/danbrss
# 运行容器
docker run -d \
--name=rss \
--restart=unless-stopped \
--cap-add=NET_BIND_SERVICE \
-p 5280:5280 \
-v $(pwd)/data:/app/storage \
-v $(pwd)/Caddyfile.txt:/app/docker/Caddyfile:ro \
codeberg.org/danb/rss:latest
参数说明:
/app/storage:存放feeds.txt、SQLite数据库等数据APP_NAME:应用名称,显示在浏览器标签页标题中APP_CONFIG_FILE:指定订阅源配置文件(feeds.txt)的具体存放路径APP_FEED_UPDATE_FREQUENCY:抓取频率(分钟),最低可设置为5分钟,默认60分钟APP_PRUNE_POSTS_AFTER_DAYS:自动清理超过指定天数的文章,默认不清理,设为30即保留最近30天APP_LOAD_POST_THUMBNAILS:是否加载文章缩略图,默认开启
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
yaml
version: '3'
services:
rss:
image: codeberg.org/danb/rss:latest
container_name: rss
restart: unless-stopped
ports:
- "5280:5280"
volumes:
- ./data:/app/storage # 数据持久化目录
- ./Caddyfile.txt:/app/docker/Caddyfile:ro
environment:
- APP_NAME=RSS # 应用名称
然后通过 SSH 登录到您的群晖,执行下面的命令:
bash
# 新建文件夹 danbrss 和 子目录
mkdir -p /volume1/docker/danbrss/data
# 进入 danbrss 目录
cd /volume1/docker/danbrss
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
首次使用需要配置订阅源:
- 打开宿主机上挂载的
data目录,找到feeds.txt文件

- 按以下格式添加 RSS 订阅源:
yaml
https://feed.url.com/feed.xml Feed名称 #标签A #标签B
https://example.com/feed.xml 示例站点 #资讯 #科技
# 以 # 开头的行是注释
# 下划线会自动转换为空格
https://example.com/feed-b.xml 新闻_站点 #新闻
# 使用方括号设置颜色(CSS 颜色值)
https://example.com/feed-c.xml 蓝色_新闻[#0078b9] #新闻 #科技
# 以 - 开头的源默认隐藏,只在筛选时显示
- https://example.com/feed-d.xml 冷知识 #知识

- 保存文件后,在浏览器中访问
http://<群晖IP>:5280会看到自动读取并开始抓取文章

- 抓取完成后,需要刷新一下就能看到内容了

切换显示方式

DanB-RSS 没有内置的用户认证系统,建议通过反向代理添加访问控制。
注意事项
- 无用户认证 :
DanB-RSS没有内置的用户管理,部署到公网时务必通过反向代理添加认证 - 不支持 HTTPS :应用本身仅支持
HTTP,需要HTTPS请使用Nginx或Caddy反向代理 - Feed 管理通过文件 :添加、修改、删除订阅源都需要编辑
feeds.txt文件,不支持界面操作 - 低维护项目:作者明确表示这是一个低维护项目,功能范围有意保持狭窄,不适合需要复杂功能的用户
- 数据持久化 :所有数据(包括数据库)都存储在
/app/storage目录,务必做好备份
参考文档
danb/rss: A simple twitter-feed-style RSS aggregator written in PHP, Laravel, Inertia.js, Tailwind and Vue.js