同じ問題で苦労している方のためにアップデート情報をお伝えします(基本的に、バックアップからの復元ができず、システムアップグレードの不具合でサーバーがクラッシュしました)。
問題の根本原因は、ローカルアップロードとS3アップロードの両方があるため、復元ツールがローカルとS3の復元を同時に処理する方法がわからずバグが発生しているようです(Discourseはバックアップ/復元を見直す時期かもしれません)。
@RGJさんからのヒントに感謝します。彼は、復元中にDiscourseにS3アップロードを無視させることを提案しました。
app.ymlにDISCOURSE_ENABLE_S3_UPLOADS=falseという行を追加します。- Discourseを再構築します
./launcher rebuild app - 復元を試みます(GUIのバックアップページから、またはCLIを使用)。
- 復元後、
app.ymlからその行を削除し、もう一度再構築します。
これは機能しましたが、注意点として、フォーラムはひどく壊れていました。カテゴリ、設定、投稿は復元されましたが、すべての画像、リンク、埋め込みドキュメントなどは壊れてエラーになりました。
最後の手段:
古いサーバーを救出し、/var/discourseディレクトリを(tar/gzで)抽出し、新しいサーバーにコピーして./launcher rebuild appを実行しました。これによりフォーラムの運用は完全に復元されましたが、根本的な問題は残っています。ローカルとS3のアップロードが混在しているため、バックアップは機能しません。
この問題を根本的に解決するための最善の方法について、ぜひアドバイスをいただきたいです。すべてのアップロードをローカルからS3へ、またはS3からローカルへ移動する方が良い/簡単でしょうか?また、その方法は?バックアップの目的はこのような状況を助けることですが、今回は役に立たなかったので、きちんと修正する必要があります。