From a5cedabba0054edc340374e919802ce334341509 Mon Sep 17 00:00:00 2001 From: cdpath Date: Wed, 16 May 2018 14:11:00 +0800 Subject: [PATCH] Support Redis cache for docker (#138) * Update docker compose to support Redis cache * Include docker-compose in docs --- docker-compose.yml | 12 ++++++++++ docs/install/README.md | 52 ++++++++++++++++++++++++++++-------------- 2 files changed, 47 insertions(+), 17 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 20fe16081..dec614ebf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,5 +7,17 @@ services: build: . environment: NODE_ENV: production + CACHE_TYPE: redis + REDIS_URL: 'redis://redis:6379/' ports: - 1200:1200 + links: + - redis + + redis: + image: redis:alpine + volumes: + - redis-data:/data + +volumes: + redis-data: diff --git a/docs/install/README.md b/docs/install/README.md index 7c0687636..997e6ec4f 100644 --- a/docs/install/README.md +++ b/docs/install/README.md @@ -4,13 +4,13 @@ sidebar: auto # 部署 -部署 RSSHub 非常简单,如果你在部署过程中遇到无法解决的问题请到 [issues](https://github.com/DIYgod/RSSHub/issues) 寻找类似的问题或 [向我们提问](https://github.com/DIYgod/RSSHub/issues/new),我们会尽快给你答复。 +部署 RSSHub 非常简单,如果你在部署过程中遇到无法解决的问题请到 [issues](https://github.com/DIYgod/RSSHub/issues) 寻找类似的问题或 [向我们提问](https://github.com/DIYgod/RSSHub/issues/new),我们会尽快给你答复。 [[toc]] ## 手动部署 -部署 `RSSHub` 最直接的方式,你可以按照以下步骤将 `RSSHub` 部署在您的电脑、服务器或者其他任何地方。 +部署 `RSSHub` 最直接的方式,你可以按照以下步骤将 `RSSHub` 部署在您的电脑、服务器或者其他任何地方。 ### 在安装之前 @@ -24,15 +24,15 @@ sidebar: auto windows 打开 `cmd`, macOS 打开`终端(terminal)`。 ``` bash -$ git +git usage: git [--version] [--help] [-C ] [-c name=value] ... ``` ::: -* Windows:从Git官网直接[下载安装程序](https://git-scm.com/downloads)。 -* MacOS:使用 [Homebrew](https://brew.sh/) `brew install git` 或者[下载安装程序](https://git-scm.com/download/mac)。 -* Linux:使用你的包管理器安装例如 `sudo apt-get install git`。 +- Windows:从Git官网直接[下载安装程序](https://git-scm.com/downloads)。 +- MacOS:使用 [Homebrew](https://brew.sh/) `brew install git` 或者[下载安装程序](https://git-scm.com/download/mac)。 +- Linux:使用你的包管理器安装例如 `sudo apt-get install git`。 ### 安装 Node.JS @@ -44,13 +44,13 @@ Windows 用户请 [下载安装程序](https://nodejs.org/zh-cn/)。安装时, 安装 `nvm` ``` bash -$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh +curl https://raw.github.com/creationix/nvm/master/install.sh | sh ``` 安装完成后,重启终端并执行下列命令即可安装 `Node.js`。 ``` bash -$ nvm install node +nvm install node ``` ### 安装 RSSHub @@ -58,14 +58,14 @@ $ nvm install node 首先是下载 `RSSHub` 的源码,请执行下列命令。 ``` bash -$ git clone https://github.com/DIYgod/RSSHub.git -$ cd RSSHub +git clone https://github.com/DIYgod/RSSHub.git +cd RSSHub ``` 下载完成后,需要安装依赖。 ``` bash -$ npm install +npm install ``` ::: tip 提示 @@ -73,7 +73,7 @@ $ npm install 使用 `Yarn` 安装依赖时只需要键入 ``` bash -$ yarn +yarn ``` 由于众所周知的原因,在中国使用 `npm` 下载依赖十分缓慢,建议挂一个代理或者考虑使用 [NPM 镜像](https://npm.taobao.org/)。 @@ -84,7 +84,7 @@ $ yarn 在 `RSSHub` 文件夹中运行下面的命令就可以启动。 ``` -$ npm start +npm start ``` 在浏览器中打开 [http://127.0.0.1:1200/](http://127.0.0.1:1200/),enjoy it! ✅ @@ -96,13 +96,13 @@ Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接 运行下面的命令下载 RSSHub 镜像。 ``` bash -$ docker pull diygod/rsshub +docker pull diygod/rsshub ``` 然后运行 RSSHub 即可 ``` bash -& docker run -d --name rsshub -p 1200:1200 diygod/rsshub +docker run -d --name rsshub -p 1200:1200 diygod/rsshub ``` 在浏览器中打开 [http://127.0.0.1:1200/](http://127.0.0.1:1200/),enjoy it! ✅ @@ -110,7 +110,7 @@ $ docker pull diygod/rsshub 您可以使用下面的命令来关闭 RSSHub。 ``` bash -$ docker stop rsshub +docker stop rsshub ``` ### 添加配置 @@ -120,11 +120,29 @@ $ docker stop rsshub 以设置缓存时间为1小时举例,只需要在运行时增加参数:`-e CACHE_EXPIRE=3600` ``` bash -& docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 PORT=1000 diygod/rsshub +docker run -d --name rsshub -p 1200:1200 -e CACHE_EXPIRE=3600 PORT=1000 diygod/rsshub ``` 更多配置项请看 [应用配置](#应用配置) +## 使用 docker-compose 部署 +[docker-compose](https://docs.docker.com/compose/overview/) 是用来运行多容器 Docker 应用的小工具,可以简化配置部署过程: + +1. 创建 volume 持久化 Redis 缓存 +``` bash +docker volume create redis-data +``` +2. 修改 `docker-compose.yml` 中的 `environment` 进行配置 +3. 部署 +``` bash +docker-compose up +``` +4. 更新 +``` bash +docker-compose build +docker-compose up +``` + ## 部署到 Heroku [![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https%3A%2F%2Fgithub.com%2FDIYgod%2FRSSHub)