Discourse バージョン: v3.2.0 stable
現在、新しいメールサービスプロバイダーに移行中です。この移行を完了するには、app.yaml ファイルの SMTP 認証情報を更新する必要があります。認証情報を更新した後、変更を有効にするためにコンテナを再構築する必要があります。
cd /var/discourse/
./launcher rebuild app
問題は、再構築が失敗することです。
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3' failed with return #<Process::Status: pid 530 exit 5>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3'"]}
bootstrap failed with exit code 5
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
b0b1f4d0ed01a9bf5b9037585a4b0416b4b4efa2b8e67557ced3d7507380ad0d
root:/#
ログに基づき、2つの潜在的な原因を特定しました。
1
2024-10-14 12:39:33.606 UTC [55] postgres@postgres ERROR: database "discourse" already exists
2024-10-14 12:39:33.606 UTC [55] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR: database "discourse" already exists
2024-10-14 12:39:33.728 UTC [58] postgres@discourse ERROR: role "discourse" already exists
2024-10-14 12:39:33.728 UTC [58] postgres@discourse STATEMENT: create user discourse;
ERROR: role "discourse" already exists
- 他のスレッドで、このエラーは無視できると見ました。実際の問題ではありません。
2
I, [2024-10-14T12:41:56.391691 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --jobs $(($(nproc) - 1)) --retry 3'
google-protobuf-3.25.2-x86_64-linux requires ruby version < 3.3.dev, >= 2.7,
which is incompatible with the current version, 3.3.4
- 要求されている Ruby バージョンを使用していないようです。
詳細を確認するために、完全なログを添付しました。
AWS Emails Restart Discourse VM Log 1.txt (39.8 KB)
考えられる解決策の 1 つは最新の安定版に移行することですが、現時点では実行できません。
バージョンアップが不可能である場合、他にどのような選択肢がありますか?セットアップスクリプトを更新せずに再構築することは可能ですか?それが問題の解決につながるかどうかはわかりません。
SMTP 認証情報を環境変数として設定することは可能ですか?
どのような助けでも大変感謝いたします。
よろしくお願いします。