为Ghost增加阿里云OSS插件
Ghost官方storage插件清单中没有阿里云OSS。但从提升国内访问速度来看,阿里云OSS是一个非常好的选择。推荐使用非官方插件"ghost-oss-store",实现CDN加速。
ghost-oss-store最早为MT-Libraries/ghost-oss-store,但由于长时间没有维护,并且上传图片后,指向文件为HTTP协议,浏览器会提示页面链接不安全。推荐使用goodideal/ghost-oss-store改版插件。
增强以下功能:
- 支持按照日期结构保存;
- 可自动生成文件名随机字符串,防止文件重名而覆盖;
- 支持图片最大显示大小设置。
使用方法也比较简单,从上篇博客系统Ghost初体验开始,继续以docker方式部署。
主要是3个地方需要调整:
- 安装插件库;
- 增加storage adapter;
- 增加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
大功告成…