アップグレード失敗 - フォーラムダウン、役に立たないエラー

Discourse のアップグレード中に以下のメッセージが表示されました:

おっと

このディスカッションフォーラムを動作させているソフトウェアで予期せぬ問題が発生しました。ご迷惑をおかけして申し訳ありません。

エラーの詳細な情報はログに記録され、自動通知が生成されました。確認いたします。

追加の対応は不要です。ただし、エラー状態が継続する場合は、サイトのフィードバックカテゴリに投稿して、エラーを再現する手順など、さらに詳しい情報を提供してください。

生成された通知は何でしょうか?メールは届いていません。

ディスカッショントピックを投稿するというアドバイスは意味がわかりません。フォーラムはダウンしているのですから。

エラー情報が どこ にログされたのかを記載すれば役立ったでしょう。

何が壊れたのか判断できなかったので、サーバーを再起動しました。すると今度は 502 Bad Gateway が表示されます。

サードパーティ製のプラグインをすべて削除して再構築すれば、エラーは解消されるはずです。サイトが起動したら、/logs にアクセスし、問題を引き起こしていたプラグインを確認してください。

セーフモードを試すこともできます。サイトの URL の末尾に /safe-mode を追加してアクセスしてください。ログは /logs で確認できます。また、コマンドラインから Announcing Discourse Doctor にアクセスして問題を検出することも可能です。コマンドラインから 2 回目にビルドを再実行するだけで、サイトが復旧することがあります。

表示されているメッセージは意図的に具体的な内容を避けており、コミュニティメンバーを不安にさせたり混乱させたりしないようにしています。トラブルシューティングの手順についてここでご質問いただいているのは正しい判断です。すぐに手順を学び、問題を解決する方法がわかるようになります。

幸運を祈ります!楽しんでください!:sparkles:

プラグインの削除方法を調べる必要があります。このフォーラムの管理は、Discourse の安定性のおかげで、めったに行わないのです。

その間、./launcher rebuild app を試してみましたが、ディスク容量不足のエラーで失敗しました。プロンプトに従ってクリーンアップを実行したところ(現在 14GB 空き)、今度は以下のエラーで失敗しました。

Pups::ExecError: cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’ が失敗しました。戻り値: #<Process::Status: pid 430 exit 1>
失敗場所: /pups/lib/pups/exec_command.rb:112:in `spawn’

以下のパラメータで exec が失敗しました: {“cd”=>“$home”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]}
aa028fe633a223429da4368d3e6339a75329cdb0465361804372bc54b4fc8f35

** ブートストラップに失敗しました ** 上記にスクロールして、以前のエラーメッセージを確認してください。複数のエラーがある可能性があります。
./discourse-doctor で問題の診断ができるかもしれません。

完全なログ|添付ファイル (66.2 KB)

/var/www/discourse/plugins/discourse-tagging/plugin.rb:13:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:430:in `block in notify_after_initialize'

discourse-tagging プラグインは、すぐに削除してください。このプラグインは、機能がコアに統合された約 3〜4 年前に非推奨となりました。

./discours-doctor に構文エラーがあるようです:

Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================
このファイルを公開可能なバージョンとして提供しますか?(Y/n)
./discourse-doctor: line 320: [: ==: unary operator expected
公開可能なログは生成されませんでした。

このスクリプトの出力は以下で確認できます:
LESS=-Ri less /tmp/discourse-debug.txt

それが原因でした。迅速な対応をありがとうございます、@sam