Docker-Compose自部署RSSHub,打造个人专属信息聚合系统

1854 字
9 分钟
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 实例吗?为什么还要自己折腾?

自部署的两个主要原因:

  1. 访问速度快:官方实例可能会被墙,只要官方会继续镜像的更新和维护,那么自己部署使用会更稳妥一些。
  2. 可定制配置:支持通过环境变量进行个性化配置。

准备工作#

在开始之前,你需要准备以下东西:

  • 一台服务器(推荐 2GB 内存以上,阿里云/腾讯云 99 元/年的轻量服务器就够用)
  • 服务器上已安装 Docker 和 Docker Compose

安装 Docker#

如果你还没安装 Docker,可以按照官方教程来安装:

Terminal window
# 使用官方一键安装脚本
sudo curl -fsSL https://get.docker.com | sh
# 如果是非 Root 账户,将当前账户添加到 "docker" 组
sudo usermod -aG docker $USER

安装 Docker Compose#

Terminal window
# 从 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 的配置文件:

Terminal window
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 目录下执行下面命令会自动完成镜像拉取和容器启动:

Terminal window
docker-compose up -d

第 3 步:检查运行状态#

启动完成后,可以用以下命令检查服务运行状态:

Terminal window
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:

Terminal window
# Ubuntu/Debian 系统
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
# CentOS/RHEL 系统
sudo yum install yum-plugin-copr -y
sudo yum copr enable @caddy/caddy -y
sudo yum install caddy -y

配置 Caddy#

编辑 Caddy 配置文件:

Terminal window
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#

Terminal window
# 启动 Caddy
sudo 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,开始构建属于你自己的信息流吧~

相关资源#

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Docker-Compose自部署RSSHub,打造个人专属信息聚合系统
https://blog.moewah.com/posts/1364/
作者
MoeWah
发布于
2019-01-14
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
Docker-Compose 自部署 MinIO S3 对象存储服务
私有化部署 如何用Docker Compose快速部署MinIO S3对象存储?本文详细拆解环境准备、配置文件编写及启动验证全流程,手把手指导你搭建私有化数据存储平台。支持Lobe-Chat、思源笔记等应用的S3兼容数据同步,确保高效安全的数据管理。
2
Docker-Compose 自部署 Umami 网站分析工具
私有化部署 如何快速部署 Umami 网站分析工具?本文详解 Docker Compose 自部署全流程,包含环境检查、YML 文件配置及数据库设置,10 分钟完成零配置部署。适合开发者和运维人员,轻松实现网站流量数据的私有化分析,避免 Google Analytics 隐私问题。
3
Docker-compose 自部署个人代码托管服务:Gitea 极简搭建指南
私有化部署 如何用Docker-compose快速搭建个人代码托管平台?本文详解Gitea的极简部署方案,解决私有化代码管理、避免GitHub依赖问题,提供从环境配置到服务启动的完整实战指南。
4
Gitea Webhook 自动部署:零依赖实现 Astro 博客多端同步发布
私有化部署 如何在多个地方(家里、公司)推送代码后实现博客自动构建?本文分享基于 Gitea Webhook 的零依赖解决方案,重点解决 Astro 博客多端同步发布的痛点,助你实现代码一推,博客自动更新的理想工作流。
5
使用 Lume 在 macOS 虚拟机中隔离运行 OpenClaw/Moltbot:完整部署指南
私有化部署 想在 macOS 虚拟机中安全隔离运行 OpenClaw 并实现高效部署?本文提供私有化部署实战复盘,详细步骤演示 Lume 创建虚拟机的全过程,帮助你快速搭建并确保系统稳定。
随机文章 随机推荐

评论区

Profile Image of the Author
MoeWah
Hello, I'm MoeWah.
专题文章
分类
站点统计
文章
198
分类
9
标签
434
总字数
373,761
运行时长
0
最后活动
0 天前

目录