アプリの再構築 - 奇妙なエラー

月次メンテナンスと Discourse のアップデートを実行していたところ、再構築中に以下のエラーが発生しました。

I, [2025-03-22T15:54:02.806441 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets
`/root` は書き込み可能ではありません。

および

I, [2025-03-22T15:54:12.239681 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:expire_missing_assets
`/root` は書き込み可能ではありません。

再構築後:

  1. 新しい画像を S3 にアップロードする投稿の作成は問題なく行えます。
  2. アプリに入り、rake コマンドを実行することも問題なく行えました。

何かアイデアや提案はありますか?

あなたはsudoとroot上にいますね、正しいですか?

「いいね!」 1

すべては同じセッションで「root」の下で試行されました。

「いいね!」 1

しかし、プロセスはrootとして実行されていましたか?

だから質問を投稿しました。数回の再構築でこのようなことは一度も起こりませんでした。

私も同じ状況です。

私のケースでは、db:migrate が正常に実行されていません。

異なるバックエンドサーバーで試しましたが、すべて同じエラーメッセージが表示されました。

Postgres が 16 または 17 をサポートしていないことが原因だと当初は思っていたので、以下のフックで実行してみました。

それでも何も機能しませんでした。

hooks:
  after_code:
    - exec:
        cd: /var/www/discourse
        cmd:
          - export HOME=/var/www/discourse
          - export BUNDLE_USER_HOME=/var/www/discourse/.bundle
          - apt-get update
          - apt-get remove -y postgresql-client-15
          - apt-get install -y postgresql-client-16

ほとんどすべて追加のapp.yml項目を削除した後、PGベクトルを属性とするエラーにつまずきました。

Postgreベクトル拡張機能のインストールにより、ビルドプロセスは正常に完了しましたが、「/root書き込み不可」がまだ表示されます。