docker-compose.yml 文件

官方示例

services:
    rsshub:
        image: diygod/rsshub:chromium-bundled
        restart: always
        ports:
            - '1200:1200'
        environment:
            NODE_ENV: production
            CACHE_TYPE: redis
            REDIS_URL: 'redis://redis:6379/'
            PROXY_URI: 'socks5h://warp-socks:9091'
        depends_on:
            - redis

    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:

第三方示例

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:chromium-bundled
        restart: always
        ports:
            - '1200:1200'
        environment:
            NODE_ENV: production
            CACHE_TYPE: redis
            REDIS_URL: 'redis://redis:6379/'
            PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'  # marked
        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

volumes:
    redis-data:

创建 volume 持久化 Redis 缓存:

docker volume create redis-data

启动( -d​ 后台启动):

docker compose up -d

番外篇:

带Cookie订阅

在 docker-compose.yml 的同级目录下,新建 rsshub.env 文件(新建 txt 后,然后改后缀名),文件内容格式为:
BILIBILI_COOKIE_{UID}=[Cookie]

重启 RSSHub