外部ストレージへのアップロード

皆さん、こんにちは。

スペースの制約のため、セルフホストインスタンスのDiscourseのアップロード場所を外部ストレージの場所に変更しようとしています。CIFS共有をマウントしており、既存のすべてのアップロードを同じディレクトリ構造でマウントされた場所にコピーしました。

次に、app.ymlに以下の行を追加しました。

- volumes:
  - volume:
      host: /
      guest: /shared/uploads

./launcher rebuild app でコンテナを再構築した後(私はrootユーザーです)、ウェブサイトで画像が一切表示されなくなりました。すべての画像が404エラーを返しているようです。

CIFS共有をroot:root_default_hostname:www-dataとしてマウントしてみましたが、毎回画像が表示されません。

アップロードの場所を変更する最善の方法(または正しい方法)は何でしょうか?

皆さん、よろしくお願いします!

デフォルトは次のとおりです。

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は機能するようです。

もう一つ気づいたこと:トピック内のアップロードは、新しいストレージの場所に移動しても、もう機能せず、再アップロードする必要があります。他の画像/アップロード(ロゴ、ヘッダーなど)は正常に機能します。

ありがとうございます!

それはそうあるべきではありません。ファイルを間違った場所にコピーしたのかもしれません。

私もそう思いましたが、shared/standalone/から外部ストレージの場所にuploadsフォルダ全体(defaultや他のサブフォルダを含む)をコピーしたことを再確認しました。

外部ストレージのさまざまな構成(主に異なるファイルとフォルダの権限)でアップロード場所を何度か変更しようとしたこと、そしてその間に添付ファイルが再び機能するようにrake posts:rebakeを実行しようとしたことを言及しておくことが重要です。おそらくそのどこかで問題が発生したのでしょう…

再度アップロードすると修正されるのは奇妙ですね。

Rails で Uploads.pluck(:url) を調べて、何かおかしな点がないか確認できます。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.