再構築後、アバターの写真がありません

昨日コマンドラインから再構築したところ、今日になって多くのユーザーのアバター画像が欠落していることに気づきました(これは2019年のこのトピックに似ています)。

rake avatars:refresh を実行してみましたが、問題は解決しませんでした。

「いいね!」 1

2日経ってもまだ問題がありますか?

「いいね!」 1

@codinghorror はい、discobot でさえもそうです。

これは基本的に、2 年前にローカルアップロードから S3 に切り替える前に、画像 (gravatar を使用しない) をアップロードしたすべてのユーザーに影響します。何らかの理由で、最後のビルド後にのみ壊れました。

アップロードが uploads から uploads/default に移動したようです。別のサイトでこれに関連する少し異なる問題が発生しています。

データベースで、それらの壊れたアップロードの URL を確認することになります。 . . 何かです。バルセロナにいればよかったのですが。

「いいね!」 2

ありがとうございます、ジェイ。あと少しです。アバターのURLを4つ確認したところ、機能するもの2つと機能しないもの(青色で表示)2つのURLのドメインが異なることに気づきました。

ただし、ウェブサイトで実際に表示されるURLは異なります。

https://MY_DOMAIN/user_avatar/MY_DOMAIN/USERNAME/75/USER_ID_2.png

.amazonaws.com の前のプレフィックスを置き換えてみたいのですが、それが良い考えかどうか(またはその方法)はわかりません。

関連する場合ですが、S3 CDNとしてCloudfrontも使用しています。

「いいね!」 1

その青いドメインは、当社のホスティングで使用しているものです。当社のホスティングから移動したことはありますか?もしそうであれば、新しいバケットを反映するように更新する必要があります。

「いいね!」 3

はい、それが原因でしょう。

しかし、どのように、そして具体的に何を変更すればよいのでしょうか?画像にアクセスできなくなったため、再アップロードできません。あるいは、古いバックアップから画像を取得し、API経由で再アップロードできるのでしょうか?

「いいね!」 1

バケットを移動させる際には、Replace a string in all posts でリマップを実行する必要があります。

もちろん、まずファイルを新しいバケットに移動させる必要があります :sweat_smile:。古いバックアップにある場合は、それらをバケットと同期させる必要があります。

「いいね!」 3

あくまで仮の話ですが、:sweat_smile: S3アセットのバックアップがない場合、他に選択肢はありますか?見つけるのに苦労しています。

discourse-cloud-file-uploads はバージョン/キャッシュをどこかに保存しますか?

「いいね!」 1

アクティブなサブスクリプション中はファイルを保持し、キャンセル後数日間のみ保持します。

「いいね!」 1

ラファエルさん、ありがとうございます。

  1. 古いバックアップから1つを抽出したときに dump.sql ファイルしか表示されない場合、アップロードは含まれていないということでしょうか?デフォルトでオンになっているので、「アップロード付きバックアップ」の設定をしていたと確信しています。

  2. アップロードされたファイルがほぼ10GBあることがわかります(/adminダッシュボード)。コマンドラインからこれらにアクセスする方法はありますか? /var/discourse/shared/standalone/uploads/ を見ましたが、11MBしかありませんでした。

  3. 他に確認できる場所はありますか、それともこれらのファイルは永久に失われたと考えるべきでしょうか?

サイト設定に backup with uploads があります。それを試してみてはどうでしょうか。

「いいね!」 1

ジェイさん、ありがとうございます。

ユーザーがアバターをアップロードした2019年には、すでにその設定を有効にしていました。その後、2020年にS3に切り替えましたが、先週、2019年のアバターがすべて失われました。古いバックアップにはアップロードファイルがなく、dump.sqlファイルしかないようなので、復旧方法を探しています。

申し訳ありません。返信時にメッセージのコンテキストを失ってしまいました。ダッシュボードはローカルファイルではなく、S3へのアップロードを参照していると思われます。

それらのアバターがdiscourse.orgのS3バケットにあった場合、それらは失われています。アカウントをキャンセルした後に移行してバックアップを取得した場合、アップロードを含む完全なバックアップを取得できます。より大きく、または.tar.gzファイル形式のバックアップはお持ちですか?

discourse.orgのアセットを指していて、それらが失われたようです。

私が持っている2019年の最大のバックアップは59MBですが、展開すると217MBのdump.sqlファイルになるだけです😅

申し訳ありません。アップロードを取得せずに discourse.org から移行したようです。

「いいね!」 1

教訓になりました。:sweat_smile: とにかくありがとうございます

「いいね!」 1