Discourseの管理機能が突然アクセスできなくなりました

本日、Discourseフォーラムページの右上にあるサンドイッチメニューをクリックできなくなりました。通常、ここから管理機能にアクセスします。クリックしても何も起こりません。

/admin で管理エリアにアクセスしようとすると、以下のエラーが表示されます:

これまで問題なくこのエリアにアクセスできていましたが、今日からできなくなりました。2つの異なるブラウザで試しましたが、同じ結果です。

まず最初に確認すべきはアップデートが必要かどうかですが、そこにもアクセスできません!

ご支援いただけますと幸いです。

別の管理者がいた場合、おそらくあなたを管理者から外しているでしょう。

@itsbhanusharma 返信ありがとうございます。そのようには見受けられません。管理パネルで何かを行うのは私だけであり、他の管理者権限を持つ全員もロックアウトされています(さっき確認しました)。

先週そのアップデートを実行しましたが、何か失敗したのかもしれません。通常は管理パネルで確認しますが、SSH でサーバーに接続して手動で更新することは可能でしょうか?

まず、セーフモードを試してみてください:https://discuss.uplift.us.us/safe-mode

ただし、まずはプラグインを確認することをお勧めします。

トピックや投稿など、他の管理者権限をお持ちでしょうか?

サーバーに SSH で接続すれば、ユーザーの管理者権限を確認できます。例として、私のサーバーでは以下のようになります:

root@discourse-docker:~# /var/discourse/launcher enter app
root@discourse-docker-app:/var/www/discourse# rails c
[1] pry(main)> User.find_by(username: 'supermathie').admin?
=> true

管理者のリストを取得したい場合は、以下を実行してください:

[2] pry(main)> User.real.where(admin: true).pluck :username
=> ["supermathie"]

/about に管理者としてリストされているのが見えますか?

ご提案いただき、ありがとうございます!

  • セーフモードでは解決しませんでした。また、プラグインは長期間(あるいは一度も)追加していません。
  • @supermathie さんの推奨に従って確認しましたが、全員が引き続き管理者です。また、@RGJ さんの提案通り、/about にも表示されています。
  • 管理者権限の問題ではないと思います。なぜなら、誰もサンドイッチメニューをクリックできないからです。クリックしてもメニューは表示されません。そのメニューには「管理者」以外の項目もあります。
  • 個人的には、最後のアップデートで何かが失敗したのではないかと疑っていますが、コマンドラインから安全にアップデートをやり直す方法がわかりません。

バックアップを取得します:

root@discourse-docker-app:/# discourse backup
バックアップを開始しています...
…
[SUCCESS]
バックアップが完了しました。
出力ファイルの場所: /var/www/discourse/public/backups/default/discourse-2020-01-20-163535-v20190603134013.tar.gz

ホストに戻ります

バックアップをどこかにコピーします:

root@discourse-docker:~# cp /var/discourse/shared/standalone/backups/default/discourse-2020-01-20-163535-v20190603134013.tar.gz ~

再構築を開始します:

root@discourse-docker:~# /var/discourse/launcher rebuild app

@supermathie さん、ありがとうございます!原因はわかりませんが、これで問題が解決しました。サンドイッチメニューが再び正常に動作するようになりました。