为Ghost增加阿里云OSS插件

Code 代码
/ ghost
2019年2月17日 ~

Ghost官方storage插件清单中没有阿里云OSS。但从提升国内访问速度来看,阿里云OSS是一个非常好的选择。推荐使用非官方插件"ghost-oss-store",实现CDN加速。

ghost-oss-store最早为MT-Libraries/ghost-oss-store,但由于长时间没有维护,并且上传图片后,指向文件为HTTP协议,浏览器会提示页面链接不安全。推荐使用goodideal/ghost-oss-store改版插件。

增强以下功能:

  • 支持按照日期结构保存;
  • 可自动生成文件名随机字符串,防止文件重名而覆盖;
  • 支持图片最大显示大小设置。

使用方法也比较简单,从上篇博客系统Ghost初体验开始,继续以docker方式部署。

主要是3个地方需要调整:

  1. 安装插件库;
  2. 增加storage adapter;
  3. 增加storage的配置信息。

1. 安装插件库

可以通过Dockerfile编译打包,参考如下:

FROM ghost:alpine

RUN apk add --no-cache git && \
  npm install goodideal/ghost-oss-store

其中在RUN中先执行了apk add git,原因是npm install一个git库时,需要依赖git执行文件。

2. 增加storage adapter

昨晚第一步后,将docker-compose.yml文件中ghost部分,如果有image需要改为build后,再执行docker-compose build && docker-compose up,之后会生成ghost-content目录。在改目录中可以看到多个文件夹,新建adapters/storage/ghost-oss-store目录,增加index.js文件,填充如下内容:

'use strict';
module.exports = require('ghost-oss-store');

3. 增加storage的配置信息

storage.env中增加如下信息:

storage__active=ghost-oss-store
storage__ghost-oss-store__accessKeyId=
storage__ghost-oss-store__accessKeySecret=
storage__ghost-oss-store__bucket=
storage__ghost-oss-store__region=
storage__ghost-oss-store__origin=

storage__ghost-oss-store__fileKey__prefix=
storage__ghost-oss-store__fileKey__folderByDate=true
storage__ghost-oss-store__fileKey__filenameWithRandam=true
storage__ghost-oss-store__fileKey__maxPixel=2000

大功告成...

参考git示例

标签

Jerry

大道至简,行者无疆。

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.