1.RSSHub的部署与配置

1.1官方项目地址:https://github.com/FreshRSS/FreshRSS

1.2搭建环境

  • 服务器:我这边用的是阿里云的轻量应用服务器,当然你也可以选用其他,服务器地址做好在海外,这样可以免备案,当然如果你有已经备案好了的域名当我没说
  • 系统:Ubuntu 24.04 (所有教程都会使用Ubunut的系统)
  • 安装好Docker、Docker-compose
  • 【非必须本教程会用】域名一枚,并做好解析到服务器上
  • 【非必须本教程会用】安装好Nginx Proxy Manager

    1.3开始搭建

    1.3.1创建安装目录

    第一步我们先创建一下要安装的目录(我这边放在了root/data/docker下)
    mkdir -p /root/data/docker/freshrss
  
    cd /root/data/docker/freshrss

接下来我们来编辑docker-compose.yml文件

vim docker-compose.yml #不会使用的可以使用finalshell

services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    environment:
      - CRON_MIN=*/20       #每20分钟刷新一次
      - TZ=Asia/Shanghai
    volumes:
      - ./data:/var/www/FreshRSS/data
      - ./extensions:/var/www/FreshRSS/extensions
    ports:
      - 8080:80        #左边的8080可以改成服务器上没有用过的端口
    depends_on:
      - postgres
    restart: always

  postgres:
    image: postgres:alpine
    container_name: freshrss-postgres
    environment:
      - POSTGRES_USER=freshrss
      - POSTGRES_PASSWORD=freshrss    #密码可以自己修改
      - POSTGRES_DB=freshrss
    volumes:
      - ./freshrss-postgres-data:/var/lib/postgresql/data
    restart: always

修改完之后,在英文输入法下,按i修改,修改完成之后,按一下ESC,然后输入:wq保存退出。

1.3.2打开服务器防火墙

在服务器提供商的那里设置安全组,放开刚才在docker-compose.yml中的端口(8080)
查看端口是否被占用(这里以8080为例),输入:

lsof -i:8080  #查看 8080 端口是否被占用,如果被占用,重新自定义一个端口

如无返回则表示未被占用,如出现:

-bash: lsof: command not foun

则运行:

apt install lsof  #安装 lsof

之后再次输入端口占用检查命令

1.3.3启用freshrss

cd /root/data/docker/freshrss

docker compose up -d    #注意,老版本用户要用 docker-compose up -d

等待拉取好镜像,出现 done的字样之后,
理论上我们就可以输入 http://ip:8080 访问了。
但是这边我们推荐先搞一下反向代理!
做反向代理前,你需要一个域名!

1.3.4反向代理

利用Nginx Proxy Manager进行反向代理,具体教程查看

1.4安装与配置

  1. 前两步跳过,直接从第三步数据库信息开始
    数据库类型选择PostgreSQL,主机填postgress数据库用户名、密码和数据库填写docker-compose.ymlpostgres字段下environment=后的内容
  2. 然后就是设置账号明码,账号密码设置完成之后就安装安装成功了
    之后就是添加RSS源了

2.RSSHub的部署

2.1项目地址

官方项目地址:https://github.com/DIYgod/RSSHub
官方教程文档:docs.rsshub.app(需魔法)
教程文档镜像站:https://rsshub.netlify.app/zh/

2.2搭建环境

  • 服务器:我这边用的是阿里云的轻量应用服务器,当然你也可以选用其他,服务器地址做好在海外,这样可以免备案,当然如果你有已经备案好了的域名当我没说
  • 系统:Ubuntu 24.04 (所有教程都会使用Ubunut的系统)
  • 安装好Docker、Docker-compose
  • 【非必须本教程会用】域名一枚,并做好解析到服务器上
  • 【非必须本教程会用】安装好Nginx Proxy Manager

2.3开始部署

2.3.1创建安装目录

第一步我们先创建一下要安装的目录(我这边放在了root/data/docker下)

mkdir -p /root/data/docker/rsshub

cd /root/data/docker/rsshub

接下来我们来编辑docker-compose.yml文件

vim docker-compose.yml #不会使用的可以使用finalshell

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:

修改完之后,在英文输入法下,按i修改,修改完成之后,按一下ESC,然后输入:wq保存退出。

2.3.2打开服务器防火墙

在服务器提供商的那里设置安全组,放开刚才在docker-compose.yml中的端口(8080)
查看端口是否被占用(这里以8080为例),输入:

lsof -i:8080  #查看 8080 端口是否被占用,如果被占用,重新自定义一个端口

如无返回则表示未被占用,如出现:

-bash: lsof: command not foun

则运行:

apt install lsof  #安装 lsof

之后再次输入端口占用检查命令

2.3.3启用freshrss

cd /root/data/docker/freshrss

docker compose up -d    #注意,老版本用户要用 docker-compose up -d

等待拉取好镜像,出现 done的字样之后,
理论上我们就可以输入 http://ip:8080 访问了。
但是这边我推荐先搞一下反向代理!
做反向代理前,你需要一个域名!

2.3.4反向代理

利用Nginx Proxy Manager进行反向代理,具体教程查看

2.4安装与配置

  1. 获取浏览器插件,直接在各浏览器插件市场搜索rsshub radar
  2. 设置浏览器插件
  3. 修改rsshub实例为你的域名,其余默认
  4. 下方的快速订阅开启freshrss,并填上你freshrss的域名
  5. 填写完就是这样的由于rsshub使用爬虫爬取信息,对于某些反爬虫比较好的网站可能会失效(例如B站的up投稿,但up的动态可以使用)
  6. 选择你要订阅的网站,复制链接或者直接点击freshrss即可跳转到你的freshrss服务进行订阅