RSSHub 可以根据我们的需求生成个性化的 RSS 订阅源,让我们轻松地获取到各种平台的最新资讯。本文将详细介绍 RSSHub 搭建过程,快速搭建起属于自己的资讯中心。
RSSHub 是一个轻量、易于扩展 RSS 生成器,它基于 Node.js 开发,支持多种平台和类型订阅源,包括但不限于微博、知乎、B 站、GitHub 等。
通过简单的配置和路由规则,我们就能生成自己想要的 RSS 订阅链接,随时随地获取最新内容更新。
搭建前的准备
在开始搭建 RSSHub 之前,我们需做一些准备工作。需一台服务器,可以是云主机,也可以是本地的计算机。服务器需要具备公网 IP 地址,以便我们能够从外部访问搭建好的 RSSHub 服务。
RSSHub 基于 Docker 部署,因此需要在服务器上安装 Docker 环境。
RSSHub 支持缓存中间件,如 Redis。
为方便访问和使用,建议注册一个域名,并将其解析到服务器的 IP 地址上。
将下面的内容保存为 docker-compose.yml
文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| services: rsshub: # two ways to enable puppeteer: # * comment out marked lines, then use this image instead: diygod/rsshub:chromium-bundled # * (consumes more disk space and memory) leave everything unchanged 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" # marked healthcheck: test: ["CMD", "curl", "-f", "http://localhost:1200/healthz"] interval: 30s timeout: 10s retries: 3 depends_on: - redis - browserless # marked
browserless: # marked image: browserless/chrome # marked restart: always # marked ulimits: # marked core: # marked hard: 0 # marked soft: 0 # marked 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:
|
使用下面命令来启动 RSSHub 服务:
如需拉取新版 RSSHub 的镜像,可使用下面的命令:
如需停止服务,可使用下面的命令:
如果不喜欢使用 Docker Compose 部署,可使用下面的命令运行有 Puppeteer 依赖的 RSSHub 服务:
1
| docker run -d --name rsshub -p 1200:1200 diygod/rsshub:chromium-bundled
|
可使用下面的命令运行无 Puppeteer 依赖的 RSSHub 服务:
1
| docker run -d --name rsshub -p 1200:1200 diygod/rsshub
|
为 Follow 添加实例
如果使用 Follow 调用 RSSHub 示例,需在 docker-compose.yml
中添加一些变量。其中 FOLLOW_OWNER_USER_ID
是指您的关注账户 ID 或用户名;FOLLOW_DESCRIPTION
指实例描述;FOLLOW_PRICE
指实例月费,如设为 0 表示免费;FOLLOW_USER_LIMIT
指实例用户限制,将其设置为 0 或 1 可将实例设为私有,留空则表示无限制;ACCESS_KEY
指访问密钥:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| services: rsshub: image: diygod/rsshub:chromium-bundled restart: always ports: - "1200:1200" environment: NODE_ENV: production FOLLOW_OWNER_USER_ID=杜老师说 FOLLOW_DESCRIPTION=大带宽境外服务器 FOLLOW_PRICE=1 FOLLOW_USER_LIMIT=1000 ACCESS_KEY=ubzG7H3t9TJaFp healthcheck: test: ["CMD", "curl", "-f", "http://localhost:1200/healthz"] interval: 30s timeout: 10s retries: 3
|
登录 Follow 后,点击头像,选择 RSSHub 项。在显示页面中,点添加新实例。依次输入 RSSHub 的地址,访问密钥,最后点击添加即可:
条评论