尝试使用 Ghost S3 存储时出现权限错误,兼容模式

Permissions error while trying to use Ghost S3 Storage, Compatibility mode

我们正在使用 Docker 在我们的 apache 服务器上为 ghost 构建一个本地环境。一切正常,直到按照 https://github.com/spanishdict/ghost-s3-compat

上的文档尝试添加 s3 存储

在尝试 运行 容器幽灵抱怨时:

Message: Your installation folder contains some directories or files with incorrect permissions:

然后列出./content/storage/ghost-s3-compat/下的所有文件和文件夹 运行 sudo find ./ ! -path "./versions/*" -type f -exec chmod 664 {} \; 然后重试。当我执行到容器中并 运行 该命令并尝试重新启动 docker 它说:

X Starting Ghost: undefined
A GhostError occurred.

Message: We detected a misuse. Please read the stack trace.

在 ghost 日志中,它声称无法在以下位置找到我的适配器:/var/www/ghost/content/adapters/storage/ 或:/var/www/ghost/versions/3.8.0/core/server/adapters/storage/

上面的文档说要放入 content/storage/ 而不是 adapters/storage/ 有没有人 运行 之前遇到过这个问题并且知道如何解决?我还递归地尝试为所有文件提供 664 权限,但在尝试重新启动时出现错误消息。文档非常少,我找不到太多关于此事的信息。任何帮助将不胜感激。谢谢

Ghost Version: 3.8.0

在我的 docker 文件中

RUN mkdir /var/www/ghost/content/storage
RUN cp -r node_modules/ghost-s3-compat /var/www/ghost/content/storage/ghost-s3-compat

production.config.json

"storage": {
    "active": "ghost-s3",
    "ghost-s3": {
      "accessKeyId": "ACCESS_KEY__ID",
      "secretAccessKey": "SECERET_ACCESS_KEY_ID",
      "bucket": "BUCKET_NAME",
      "region": "REGION_SLUG"
    }
  },
  "paths": {
    "contentPath": "/var/www/ghost/content"
  }

所以问题似乎是使用 ghost-s3-compat

看起来也有一段时间没有更新或维护了。设置没有任何问题。切换到 ghost-storage-adapter-s3 后,我就可以 运行 ghost 了。

注意:我仍然需要运行sudo find ./ ! -path "./versions/*" -type f -exec chmod 664 {} \;更改权限才能正常工作。

希望这能为别人省去一些麻烦。