大家好,
我正在尝试将 Discourse 的上传位置更改为自托管实例上的外部存储位置,以解决空间不足的问题。我已经挂载了一个 CIFS 共享,并将所有现有上传文件以相同的目录结构复制到了挂载位置。
然后,我将以下几行添加到 app.yml 中:
- volumes:
- volume:
host: /storage-location/uploads
guest: /shared/uploads
在通过 ./launcher rebuild app 重建容器后(我是 root 用户),网站上的图片不再可见。它们似乎都返回了 404 代码。
我尝试将 CIFS 共享挂载为 root:root 和 _default_hostname:www-data,但每次图片都无法显示。
执行此上传位置更改的最佳(或正确)方法是什么?
提前感谢各位!
pfaffman
(Jay Pfaffman)
2
以下是默认设置:
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
您可能需要类似这样的设置:
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /your/cifs/share/discourse-uploads
guest: /shared/uploads
1 个赞
没错!我试过那种方法,它奏效了,只要记住挂载的存储位置必须具有正确的权限。root:root 不起作用,但 _default_hostname:www-data 似乎可以。
我注意到的另一件事:主题中的上传,即使将它们移动到新的存储位置,也不再起作用,必须重新上传。其他图像/上传(徽标、标题等)工作正常。
谢谢!
我也是这么想的,但我仔细检查过了,我确实将整个 uploads 文件夹从 shared/standalone/ 复制到了我的外部存储位置,包括 default 和其他子文件夹。
重要的是要提到,我尝试了几次使用不同的外部存储配置(主要是不同的文件和文件夹权限)来更改上传位置,并且在此期间执行了 rake posts:rebake,试图让附件再次工作,也许问题就发生在其中…
pfaffman
(Jay Pfaffman)
6
重新上传一遍就能修复,这很奇怪。
你可以查看 Rails 中的 Uploads.pluck(:url),看看那里是否有奇怪的东西。
system
(system)
关闭
7
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.