IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    RSSHub 搭建指南打造个性化资讯中心

    Teacher Du发表于 2025-05-06 08:20:35
    love 0

    RSSHub 可以根据我们的需求生成个性化的 RSS 订阅源,让我们轻松地获取到各种平台的最新资讯。本文将详细介绍 RSSHub 搭建过程,快速搭建起属于自己的资讯中心。

    RSSHub 的简介

    RSSHub 是一个轻量、易于扩展 RSS 生成器,它基于 Node.js 开发,支持多种平台和类型订阅源,包括但不限于微博、知乎、B 站、GitHub 等。

    通过简单的配置和路由规则,我们就能生成自己想要的 RSS 订阅链接,随时随地获取最新内容更新。

    搭建前的准备

    在开始搭建 RSSHub 之前,我们需做一些准备工作。需一台服务器,可以是云主机,也可以是本地的计算机。服务器需要具备公网 IP 地址,以便我们能够从外部访问搭建好的 RSSHub 服务。

    RSSHub 基于 Docker 部署,因此需要在服务器上安装 Docker 环境。

    RSSHub 支持缓存中间件,如 Redis。

    为方便访问和使用,建议注册一个域名,并将其解析到服务器的 IP 地址上。

    RSSHub 的搭建步骤

    将下面的内容保存为 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 服务:

    1
    docker-compose up -d

    如需拉取新版 RSSHub 的镜像,可使用下面的命令:

    1
    docker-compose pull

    如需停止服务,可使用下面的命令:

    1
    docker-compose down

    如果不喜欢使用 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 的地址,访问密钥,最后点击添加即可:



沪ICP备19023445号-2号
友情链接