明日复明日,明日何其多。
我生待明日,万事成蹉跎。

Docker部署RSSHUB,万物节课rss

Docker Compose 部署

#安装

下载 docker-compose.yml(opens new window)

wget https://raw.githubusercontent.com/DIYgod/RSSHub/master/docker-compose.yml
其内容如下;
version: '3'

services:
    rsshub:
        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'
        depends_on:
            - redis
            - browserless

    browserless:
        # See issue 6680
        image: browserless/chrome:1.43-chrome-stable
        restart: always

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

volumes:
    redis-data:

创建 volume 持久化 Redis 缓存

$ docker volume create redis-data

启动

$ docker-compose up -d

#更新

删除旧容器

$ docker-compose down

如果之前已经下载 / 使用过镜像,下方命令可以帮助你获取最新版本:这可能可以解决一些问题。

$ docker pull diygod/rsshub

然后重复安装步骤

#添加配置

修改 docker-compose.yml (opens new window)中的 environment 进行配置

#Docker 部署

#安装

运行下面的命令下载 RSSHub 镜像

$ docker pull diygod/rsshub

然后运行 RSSHub 即可

$ docker run -d --name rsshub -p 1200:1200 diygod/rsshub

在浏览器中打开 http://127.0.0.1:1200/ (opens new window),enjoy it! ✅

您可以使用下面的命令来关闭 RSSHub

$ docker stop rsshub

#更新

删除旧容器

$ docker stop rsshub
$ docker rm rsshub

然后重复安装步骤

#添加配置

配置运行在 docker 中的 RSSHub,最便利的方法是使用 docker 环境变量

以设置缓存时间为 1 小时举例,只需要在运行时增加参数:-e CACHE_EXPIRE=3600

$ docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 -e GITHUB_ACCESS_TOKEN=example diygod/rsshub

该部署方式不包括 puppeteer 和 redis 依赖,如有需要请改用 Docker Compose 部署方式或自行部署外部依赖

更多配置项请看 #配置

#Ansible 部署

这个 Ansible playbook 包括了 RSSHub, Redis, browserless (依赖 Docker) 以及 Caddy 2

目前只支持 Ubuntu 20.04

需要 sudo 权限和虚拟化能力(Docker 将会被自动安装)

#安装

sudo apt update
sudo apt install ansible
git clone https://github.com/DIYgod/RSSHub.git ~/RSSHub
cd ~/RSSHub/scripts/ansible
sudo ansible-playbook rsshub.yaml
# 当提示输入 domain name 的时候,输入该主机所使用的域名
# 举例:如果您的 RSSHub 用户使用 https://rsshub.exmaple.com 访问您的 RSSHub 实例,输入 rsshub.exmaple.com(去掉 https://)

#更新

cd ~/RSSHub/scripts/ansible
sudo ansible-playbook rsshub.yaml
# 当提示输入 domain name 的时候,输入该主机所使用的域名
# 举例:如果您的 RSSHub 用户使用 https://rsshub.exmaple.com 访问您的 RSSHub 实例,输入 rsshub.exmaple.com(去掉 https://)

#手动部署

部署 RSSHub 最直接的方式,您可以按照以下步骤将 RSSHub 部署在您的电脑、服务器或者其他任何地方

#安装

首先是下载 RSSHub 的源码

$ git clone https://github.com/DIYgod/RSSHub.git
$ cd RSSHub

下载完成后,需要安装依赖(开发不要加 --production 参数)

使用 npm

$ npm ci --production

或 yarnv1 (不推荐)

$ yarn install --production

由于众所周知的原因,在中国使用 npm 下载依赖十分缓慢,建议挂一个代理或者考虑使用 NPM 镜像(opens new window)

然后在 RSSHub 文件夹中运行下面的命令就可以启动

$ npm start

$ yarn start

或使用 PM2(opens new window)

$ pm2 start lib/index.js --name rsshub

在浏览器中打开 http://127.0.0.1:1200/ (opens new window),enjoy it! ✅

详细使用说明参照 指南 (opens new window),替换所有路由例子中的 https://rsshub.app/ 为 http://localhost:1200 即可正常使用

#添加配置

可以通过设置环境变量来配置 RSSHub

在项目根目录新建一个 .env 文件,每行以 NAME=VALUE 格式添加环境变量,例如

    CACHE_TYPE=redis
    CACHE_EXPIRE=600

注意它不会覆盖已有的环境变量,更多规则请参考 dotenv(opens new window)

该部署方式不包括 puppeteer 和 redis 依赖,如有需要请改用 Docker Compose 部署方式或自行部署外部依赖

更多配置项请看 #配置

#更新

在 RSSHub 文件夹中运行下面的命令就从 github 仓库拉取最新版本

$ git pull

然后重复安装步骤。

#Nix 用户提示

通过 nix-shell 配置简化安装 nodejs, yarn 和 jieba:

let
    pkgs = import <nixpkgs> {};
    node = pkgs.nodejs-12_x;
in pkgs.stdenv.mkDerivation {
    name = "nodejs-yarn-jieba";
    buildInputs = [node pkgs.yarn pkgs.pythonPackages.jieba];
}

赞(0) 打赏
未经允许不得转载:致明日 » Docker部署RSSHUB,万物节课rss
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

坚持,总会看见蓝天和白云

联系我们你来了,你就是最棒的!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏