Docker-Compose自部署RSSHub,打造个人专属信息聚合系统
前言
说实话,最近几年我越来越依赖 RSS 订阅来获取信息了。你可能也有同感:刷各种 App 越来越浪费时间,信息流算法不断推送你不需要的内容,真正有价值的东西反而不容易看到。

刚开始接触 RSS 的时候,也被各种 RSS 阅读器搞得头大。但后来发现,真正的痛点不是阅读器,而是没有好用的 RSS 源。很多网站根本不提供 RSS 订阅功能,或者提供的 RSS 源内容质量很差。
直到我遇到了 RSSHub。
RSSHub 是什么?
RSSHub 是一个轻量、易于扩展的 RSS 生成器,项目地址:https://github.com/DIYgod/RSSHub
简单来说,它可以给”任何”内容生成 RSS 订阅源。我用了这么久,真心觉得它的功能强大到令人惊讶。目前它支持:
- B 站:番剧、UP 主投稿、UP 主动态、UP 主收藏夹、分区视频
- 微博:博主、关键词
- 网易云音乐:歌单歌曲、用户歌单、歌手专辑
- 简书:首页、7 日热门、30 日热门、专题、作者
- 知乎:收藏夹、用户动态、用户回答、专栏
- 掘金:分类
- 自如:房源
- 快递:所有快递公司
- 豆瓣:正在上映的电影、正在上映的高分电影、即将上映的电影
- 贴吧:帖子列表
- pixiv:用户收藏、用户动态、排行榜
远远不止这些,还有很多很多…
为什么要自己部署 RSSHub?
你可能想问:官方不是有现成的 rsshub.app 实例吗?为什么还要自己折腾?
自部署的两个主要原因:
- 访问速度快:官方实例可能会被墙,只要官方会继续镜像的更新和维护,那么自己部署使用会更稳妥一些。
- 可定制配置:支持通过环境变量进行个性化配置。
准备工作
在开始之前,你需要准备以下东西:
- 一台服务器(推荐 2GB 内存以上,阿里云/腾讯云 99 元/年的轻量服务器就够用)
- 服务器上已安装 Docker 和 Docker Compose
安装 Docker
如果你还没安装 Docker,可以按照官方教程来安装:
# 使用官方一键安装脚本sudo curl -fsSL https://get.docker.com | sh
# 如果是非 Root 账户,将当前账户添加到 "docker" 组sudo usermod -aG docker $USER安装 Docker Compose
# 从 GitHub 下载到本地相应目录sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予 Docker Compose 目录相应权限sudo chmod +x /usr/local/bin/docker-compose注意:上面命令中的 v2.24.0 可以更换为你想要的任何版本,你可以去 Docker Compose Releases 查看最新版本。
使用 Docker Compose 部署 RSSHub
之前折腾过很多部署方式,Docker Compose 真的是最简单、最稳定的方案。这里我就用官方提供的 docker-compose.yml 配置文件来进行部署。
第 1 步:下载并配置 docker-compose.yml 文件
在服务器上创建一个目录来存放 RSSHub 的配置文件:
mkdir /opt/rsshub && cd /opt/rsshub然后创建 docker-compose.yml 文件。我建议先在本地电脑上编辑好,再上传到服务器。下面是官方提供的配置文件(我做了一些必要的修改):
services: rsshub: image: diygod/rsshub restart: always ports: - '1200:1200' environment: NODE_ENV: production CACHE_TYPE: redis REDIS_URL: 'redis://redis:6379/' PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000' # ACCESS_KEY: 'ILoveRSSHub' # 配置一个访问密钥,订阅源仅通过密钥访问,如 https://rsshub.app/qdaily/column/59?key=ILoveRSSHub # PROXY_URI: http://192.168.0.10:7890 # 按需配置 http 代理 healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:1200/healthz'] interval: 30s timeout: 10s retries: 3 depends_on: - redis - browserless
browserless: image: browserless/chrome restart: always ulimits: core: hard: 0 soft: 0 healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:3000/pressure'] interval: 30s timeout: 10s retries: 3
redis: image: redis:alpine restart: always volumes: - redis-data:/data healthcheck: test: ['CMD', 'redis-cli', 'ping'] interval: 30s timeout: 10s retries: 5 start_period: 5s
volumes: redis-data:把这个配置文件保存为 docker-compose.yml,然后上传到服务器的 /opt/rsshub 目录。
第 2 步:启动 RSSHub
在 /opt/rsshub 目录下执行下面命令会自动完成镜像拉取和容器启动:
docker-compose up -d第 3 步:检查运行状态
启动完成后,可以用以下命令检查服务运行状态:
docker-compose ps你应该能看到三个服务都在运行:rsshub、browserless、redis。如果某个服务的状态不是 “Up”,可以用 docker-compose logs 查看日志排查问题。
第 4 步:访问 RSSHub
打开浏览器,输入 http://<你的服务器IP>:1200,如果你能看到 RSSHub 的欢迎页面,说明部署成功了!
更多配置选项
除了基础部署,RSSHub 还支持丰富的配置选项,比如:
- 内容过滤:通过正则表达式过滤 RSS 源内容
- 访问控制:配置访问密钥保护你的 RSS 源
- 缓存配置:调整缓存策略和过期时间
- 代理配置:设置代理访问受限制的内容
- 图片处理:配置图片代理和优化
如果你需要这些高级功能,可以访问 RSSHub 官方文档 - 参数配置 了解详细使用方法。
使用 Caddy 反向代理添加 SSL 证书
如果你有自己的域名,可以用 Caddy 配置反向代理并自动申请 SSL 证书,实现 HTTPS 访问。Caddy 的优势是配置简单、自动续期 SSL 证书,而且占用资源很小。
安装 Caddy
在服务器上执行以下命令安装 Caddy:
# Ubuntu/Debian 系统sudo apt install -y debian-keyring debian-archive-keyring apt-transport-httpscurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.listsudo apt updatesudo apt install caddy
# CentOS/RHEL 系统sudo yum install yum-plugin-copr -ysudo yum copr enable @caddy/caddy -ysudo yum install caddy -y配置 Caddy
编辑 Caddy 配置文件:
sudo vim /etc/caddy/Caddyfile添加以下内容(修改域名、邮箱和 IP 地址):
your-domain.com { reverse_proxy 127.0.0.1:1200
# 自动申请 Let's Encrypt SSL 证书 tls your@email.com
# 日志配置 log { output file /var/log/caddy/access.log }
# Gzip 压缩 encode gzip}配置说明:
your-domain.com:替换为你的域名127.0.0.1:1200:RSSHub 的监听地址和端口(如果是同一服务器,可以用 127.0.0.1;如果是其他服务器,填写实际 IP)your@email.com:替换为你的邮箱,用于 SSL 证书申请- Caddy 会自动向 Let’s Encrypt 申请免费的 SSL 证书,并自动续期
启动 Caddy
# 启动 Caddysudo systemctl start caddy
# 设置开机自启sudo systemctl enable caddy
# 检查状态sudo systemctl status caddy访问测试
此时,你就可以通过 https://your-domain.com 访问你的 RSSHub 辣。
写在最后
最后推荐一下我现在的信息流获取的方式:RSSHub 生成各种 RSS 源 → FreshRSS 进行 RSS 订阅源聚合统一进行管理 → iOS / macOS 上使用免费的开源 RSS 客户端—> NetNewsWire 进行阅读。整个过程就像建立了一个属于自己的信息过滤系统,只让真正有价值的内容进来。
你可能会问:现在都 2026 年了,RSS 这种老掉牙的技术还有必要折腾吗?
我的答案是:非常有必要。
在这个信息爆炸的时代,主动选择自己想要什么,比被动接受算法推送更重要。RSSHub 让我们能够把分散在各个平台的信息聚合到一处,按照自己的节奏阅读,这才是真正的信息自由。
如果你还没有尝试过 RSS,现在就是最好的时机。用这篇文章的方法,花 10 分钟时间部署一个属于自己的 RSSHub,开始构建属于你自己的信息流吧~
相关资源
- RSSHub 官方文档:https://docs.rsshub.app/zh/
- RSSHub GitHub 项目:https://github.com/DIYgod/RSSHub
- RSSHub Radar 浏览器插件:https://github.com/DIYgod/RSSHub-Radar
- ALL About RSS:https://github.com/AboutRSS/ALL-about-RSS - RSS 相关内容的合集
推荐文章
基于标签匹配 · 智能推荐支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
喵斯基部落