管理UIでDiscourseが更新されない - 何をしても

管理セクションのUIアップデーターを使用して更新すると、常に失敗します。これは、Discourseを1年以上前にインストールしてからずっと失敗しています。サーバーにSSHで簡単に接続して手動で更新できますが、正しく機能しない機能があるのはイライラします。

DiscourseはDockerで実行されており、Dockerに詳しくないので、同様の問題を抱えている人がいるかどうか、そしてそれをどのように修正できるかを知りたいです。

要するに、UIアップデーターは常に失敗し、コマンドラインは初回で機能します。SSHでサーバーに接続する(頻繁に)必要がないように修正したいと思います。

よろしくお願いします!

「いいね!」 1

こんにちは、同じです。数ヶ月間この状態です。

SSHでサーバーに接続した場合、free -h は何を表示しますか?

少し調べてみたところ、推奨されている最低限のRAMを使用している可能性があることに気づきました。しかし、これは50人未満のユーザー向けのプライベートインストールなので、私のユースケースでは最小値を超える必要は本当にありません。

image

同時接続ユーザー数が3人以下で、それ以上必要です。VPSのアップグレードが必要だと思います。

以前は2GBのRAMと2GBのスワップでアップデートできましたが、それはおそらく非常に要求の厳しいEmberより前のことでした。ディスク容量があれば4GBのスワップに増やすことで、それが可能になるかもしれません。または、一時的に注意深くより多くのRAMを搭載したインスタンスに移行し、アップデートを実行してから元に戻します。

いずれにしても、バックアップを取得し、最初にダウンロードしてください。

「いいね!」 1

スワップオプションを見て、それが役立つかどうか確認します。RAMは2GB、ディスクは80GBです。

残念ながら、私のプロバイダーはシステムリソースの自動変更をサポートしていませんが、月額5ドル以上は支払いたくありません。

ご協力ありがとうございました。

RAMは2GB、ディスクは40GBで、スワップの設定に.\discourse-setupを使用しており、Web UIの更新は遅かったです。

「いいね!」 1

このIonos USAホスティングは検討する価値があるかもしれません

ええ、私はその下のティアです。1年後は月額8ドルです。残念ながら。

「いいね!」 1

Contaboは良い価格でVPSを提供していることを知っています。


5未満だと言いましたよね…

「いいね!」 1

すごい、それはいい値段ですね。見てみます。ありがとうございます!

「いいね!」 2

米国市場では、ContaboIONOSの両方でインバウンドポート25が許可されており、これは#mail-receiver構成に不可欠です。そのため、機能的な制限はありません。

真の違いは、信頼性とサポートの評判にあります。

  • ContaboTrustpilot 4.2/5、約6,700件のレビュー)は、攻撃的な価格設定と高いスペックを提供しますが、米国のユーザーは高レイテンシサポート応答の遅延、特に負荷がかかった際のパフォーマンスの不安定さを報告することがよくあります。Contaboの米国データセンターは存在しますが、期待どおりの応答性が常に得られるとは限りません。

  • IONOSTrustpilot 4.5/5、約31,000件のレビュー)は、多くの人が想定するよりも米国で優れたパフォーマンスを発揮します。サポートの評判が高く、インフラストラクチャもより信頼性が高く、Contaboの16%と比較して1つ星のレビューが少ない(約10%)です。ユーザーは、Contaboと比較して、より優れた稼働時間ライブサポートアカウント管理を一貫して報告しています。

結論(米国):
米国を拠点としており、本番ワークロードに対して安定性、迅速なサポート、低リスクを必要とする場合は、IONOSがより安全な選択肢です。Contaboは、開発/テスト環境やコスト重視のデプロイメントでは引き続き検討する価値があるかもしれませんが、レイテンシとサポート品質のトレードオフを覚悟する必要があります。

「いいね!」 3

私のものも同様に、4年以上問題なく動作していましたが、最近失敗するようになりました。時々失敗すると表示されますが、リフレッシュするとすべて最新の状態になっており、再度更新するものはありません。しかし、ほとんどの場合、以下のような結果になります。

ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL コマンドはSIGKILL(強制終了)で終了しました:ember build -prod /var/www/discourse/script/assemble_ember_build.rb:103:in `system': Command failed with exit 1: pnpm (RuntimeError) 	from /var/www/discourse/script/assemble_ember_build.rb:103:in `<main>' Docker Manager: FAILED TO UPGRADE

ほとんどの場合、出力の前の50〜200行を確認できると非常に役立ちます。スクリプトがそれを推奨していないのは残念です。

「いいね!」 1

それが私が疑問に思っていたことです。それは私のサーバーのハードウェアではなく、コード自体の問題に関連していたのかどうかということです。

次の可能性は、自分で手動で更新するスクリプトを使用して独自のプラグインを作成することだと思います。

他の人も同じ問題を抱えているのは幸いです(私も大変な思いをしていることはわかっています)。Discourseで積極的に開発している人が調査してくれるといいのですが。また、単に「失敗した」という以上の、より良いデバッグ情報があればと思います。

エド、それをあなたのために手に入れられるか見てみます。すぐに投稿します。

サーバーやその他諸々のことに関しては、開発者でも専門家でもありません。Digital Ocean を選んだのは、公式のインストール手順で言及されていたことと、長年にわたってその名前を繰り返し目にしていたからです。

現在、月額 $6 の 2 番目に安いプランを利用していますが、これは Contabo や IONOS が提供するサーバーよりもはるかに「遅い」サーバーです。良好な Discourse パフォーマンスの最低条件は少なくとも 2GB の RAM なので、$12 のプランにアップグレードする必要があります。Contabo の月額 $4.95 では 8GB を利用できます…これは価格と RAM の両方で「わずかな」違いです :wink: ディスク容量などを考慮に入れていません。

そこで、経験のあるユーザーの皆様に質問ですが、Digital Ocean に留まるのではなく、例えば Contabo に Discourse を移行することは理にかなっていますか?まだコミュニティ全体を構築中であり、これまでのところ DO は問題ありませんでしたが、スワップファイル 4GB を使用しても(ディスク容量は 25GB しかないため)、Web 上で Discourse を更新する際に問題が発生しました。しかし、すべてを移行した後に他の問題に気づきたくはありません。

このページを見つけましたが、これらのテストがどれほど信頼できるか、そして移行を決定するのに十分かどうかはわかりません。

フィードバックをいただけると幸いです!
ありがとうございます!:raising_hands:

「いいね!」 2

これは、Digital Oceanが月額6ドルで提供しているRAM 1GBのものと比べて、完全に破壊的です…

乗り換えをお勧めしますか?

********************************************************
*** 少々お待ちください。次の手順には時間がかかる場合があります ***
********************************************************
メモリを解放するため、ユニコーンをサイクリング
ユニコーンのPIDを再起動: 1580
ユニコーンの再読み込みを待機中。
ユニコーンの再読み込みを待機中..
ユニコーンの再読み込みを待機中...
ユニコーンの再読み込みを待機中....
ユニコーンの再読み込みを待機中.....
ユニコーンの再読み込みを待機中......
ユニコーンの再読み込みを待機中.......
ユニコーンの再読み込みを待機中........
ユニコーンの再読み込みを待機中.........
ユニコーンの再読み込みを待機中..........
ユニコーンの再読み込みを待機中...........
ユニコーンの再読み込みを待機中............
ユニコーンの再読み込みを待機中.............
ユニコーンの再読み込みを待機中..............
メモリを解放するため、ユニコーンワーカー1体を停止中
メモリを確保するためジョブキューを停止中、マスターPIDは1585です
$ cd /var/www/discourse && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse && git reset --hard HEAD@{upstream}
HEAD は 20ff23ed0 DEV: remove redundant translations for disabled new topic btn (#33929) に現在位置しています
$ bundle install --retry 3 --jobs 4
バンドル完了!160個のGemfile依存関係、207個のgemがインストールされました。
'test' および 'development' グループのGemはインストールされませんでした。
バンドルされたgemは `./vendor/bundle` にインストールされます
直接依存している3個のインストール済みgemが資金調達を求めています。
  詳細については `bundle fund` を実行してください
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
スコープ: 全ての16ワークスペースプロジェクト
ロックファイルは最新の状態です。解決ステップはスキップされました。
既に最新の状態です

pnpm v9.15.9 を使用して2.9秒で完了しました
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
discourse-custom-wizard は既に最新の互換性のあるバージョンです
docker_manager は既に最新の互換性のあるバージョンです
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
マルチサイトマイグレーターが1スレッドを使用して実行中です

デフォルトを移行中
デフォルトをシード中
*** アセットのバンドル中。これには時間がかかります ***
$ bundle exec rake themes:update assets:precompile
テーマを並列度: 10 で更新中
[db:default] 'Air Theme' - チェック中...
[db:default] 'Air Theme' - 最新の状態です
[db:default] 'Modern Category + Group Boxes' - チェック中...
[db:default] 'Modern Category + Group Boxes' - 最新の状態です
[db:default] 'Clickable Topic' - チェック中...
[db:default] 'Clickable Topic' - 最新の状態です
[db:default] 'Search Banner' - チェック中...
Node.js heap_size_limit は 2048MB 未満です。--max-old-space-size=2048 および CHEAP_SOURCE_MAPS=1 を設定しています
既存のビルドは再利用できません。
- 既存: {"ember_env"=>"production", "core_tree_hash"=>"cd74e4ac33647244c041061633d6ca67f9166e5c"}
- 現在: {"ember_env"=>"production", "core_tree_hash"=>"7ac67590cc51e22690a2711b593892cd1d266781"}
フルコアビルドを実行中...
ビルド中
環境: production
'staticAddonTrees' 設定は、次のバージョンのEmbroiderでデフォルトでtrueになり、無効にすることはできません。これに備えるために、Embroider設定で 'staticAddonTrees: true' を設定する必要があります。
'staticAddonTestSupportTrees' 設定は、次のバージョンのEmbroiderでデフォルトでtrueになり、無効にすることはできません。これに備えるために、Embroider設定で 'staticAddonTestSupportTrees: true' を設定する必要があります。
ビルド中...
...[ConfigLoader]
...[Babel: @embroider/macros > applyPatches]
...[Babel: @ember/legacy-built-in-components > applyPatches]
...[Babel: ember-source > applyPatches]
[BABEL] 注意: コードジェネレーターは、/var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js のスタイルを最適化解除しました。最大500KBを超えています。
[BABEL] 注意: コードジェネレーターは、/var/www/discourse/app/assets/javascripts/discourse/ember/ember.js のスタイルを最適化解除しました。最大500KBを超えています。
...[Babel: @glimmer/component > applyPatches]
...[Babel: @ember/test-waiters > applyPatches]
...[Babel: ember-this-fallback > applyPatches]
...[Babel: ember-cache-primitive-polyfill > applyPatches]
...[Babel: select-kit > applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
undefined
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  コマンドはSIGKILL (強制終了) で終了しました: ember build -prod
/var/www/discourse/script/assemble_ember_build.rb:103:in `system': Command failed with exit 1: pnpm (RuntimeError)
	from /var/www/discourse/script/assemble_ember_build.rb:103:in `<main>'
Docker Manager: アップグレードに失敗しました
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:211:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:112:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:44:in `load'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:44:in `block in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2/lib/active_support/execution_wrapper.rb:91:in `wrap'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:70:in `conditional_executor'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command/base.rb:178:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/thor-1.4.0/lib/thor.rb:538:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command/base.rb:73:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command.rb:65:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command.rb:143:in `with_argv'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/command.rb:63:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2/lib/rails/commands.rb:18:in `<main>'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'
/usr/local/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.6/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
最初に停止されたユニコーンワーカー1体を起動しています

どうぞ。本日再現しました。

「いいね!」 1