Ghost发布1.0版本貌似有一段时间了,不过一直都没怎么关注。前两天听北方酱提起就准备把博客升级到1.0。结果发现0.X居然不能直接升级到1.X,而且之前0.X版本的数据库也不兼容1.0版本。非常SB的逻辑!
这里大概记录一下升级过程(使用Docker)
由于不能直接升级而且数据库也不兼容,先要进入0.x版本的后台导出博客的json文件、主题和服务器里博客的images文件夹,接着直接删掉旧容器和相关文件。
然后

docker pull ghost
拉取新版的Ghost
使用
docker run --name ghost -v /path/to/ghost/blog:/var/lib/ghost/content -d ghost
来运行Ghost(注意和0.x版本目录不同为/var/lib/ghost/content,而不是/var/lib/ghost)
还有就是用Docker把文件夹挂载到/var/lib/ghost会报错如下

tar: /var/lib/ghost/content.orig: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

窝不知怎么解决Orz,只能先挂载到其它文件夹。
最后Ghost的生产环境的配置文件格式变成了config.production.json,不在是之前的config.js,格式也有调整。
因为不会挂载/var/lib/ghost 文件夹只能使用

docker exec -it ghost bash
进入容器的bash修改配置文件(容器里没编辑器,自行安装vim或nano)
窝的配置供参考(nginx和mysql使用的unix socket进行监听,邮件使用zoho,邮件设置可以参考这里
1
使用unix socket监听需要注意nginx文件的所属组为www-data,不然会出现502.
完成后重启容器。
因为新版程序的数据库和旧版的不兼容(无比坑),只能打开后台重新注册账号神马的,然后删除自动生成的文章和admin用户,导入json文件和主题,最后把images文件夹移到对应的位置就完成辣,希望以后的版本不要再这么折腾了...
ps:1.X版本官方支持七牛和又拍云来代替ghost本地的图片存储,有兴趣的小伙伴可以试试ww
ps2:貌似1.x的主题和之前主题也不太兼容。