本文最后更新于 2025-04-22,文章内容可能已经过时。

Docker Compose部署

  • 系统:Ubuntu 22.04 - x86_64
  • 安装好 Docker、Docker-composeDocker安装
  • 域名一枚,并做好解析到服务器上(非必须,内网使用则不需要域名)
  • 安装好宝塔面板,并安装好 Nginx(非必须)
  • 安装好 Nginx Proxy Manager(非必须,用作反代)

开始搭建

更新依赖,安装部分工具

sudo apt update
apt install -y wget vim sudo curl git

创建目录,并进入目录

cd ~

mkdir -p ~/data/docker_data/rsshub

cd ~/data/docker_data/rsshub

创建配置文件

nano docker-compose.yml

使用vim创建还是nano随意看自己喜欢

写入配置文件

增加配置以及查看配置内容看这里配置详情

version: '3.9'

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
            CACHE_EXPIRE: 600
        depends_on:
            - redis
            - browserless  # marked

    browserless:  # marked
        image: browserless/chrome  # marked
        restart: always  # marked
        ulimits:  # marked
          core:  # marked
            hard: 0  # marked
            soft: 0  # marked

    redis:
        image: redis:alpine
        restart: always
        volumes:
            - redis-data:/data

    warp-socks:
        image: monius/docker-warp-socks:latest
        privileged: true
        restart: always
        volumes:
            - /lib/modules:/lib/modules
        cap_add:
            - NET_ADMIN
            - SYS_MODULE
        sysctls:
            net.ipv6.conf.all.disable_ipv6: 0
            net.ipv4.conf.all.src_valid_mark: 1
        healthcheck:
            test: ["CMD", "curl", "-f", "https://www.cloudflare.com/cdn-cgi/trace"]
            interval: 30s
            timeout: 10s
            retries: 5

volumes:
    redis-data:

检查完毕之后,ctrl+x 退出,按 y 确认修改内容, enter 确认

启动 RssHub

docker-compose up -d

本地使用到这里就已经可以了,访问http://127.0.0.1:1200/就可以使用了,有域名可以使用反代设置。

# 停止
docker-compose down

# 重启
docker-compose restart

# 查看日志
docker-compose logs

更新

cd /root/data/docker_data/rsshub

docker-compose pull

docker-compose up -d    # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。

docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

宝塔反代

    location / {
      proxy_pass http://127.0.0.1:1200/;       # 注意改成你实际使用的端口
      rewrite ^/(.*)$ /$1 break;
      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade-Insecure-Requests 1;
      proxy_set_header X-Forwarded-Proto https;
    }

推荐使用Nginx Proxy Manager,非常方便简单,暂时没写教程可以B站或者百度搜索,我写了再链接过来(咕咕咕