ブートストラップ失敗エラー - pupsの問題

皆さん、こんにちは。

アップデート後にテストインスタンスを再構築しようとしていますが、うまくいきません。Google検索やChatGPTによると、app.ymlのフォーマットに問題がある可能性があるとのことですが、特定できていません。以下は標準出力ですが、あまり役に立たないことは承知しています。

x86_64 アーキテクチャを検出しました。
警告: containers/app.yml ファイルは誰でも読み取り可能です。このファイルを保護するには、chmod o-rwx containers/app.yml を実行してください。
ランチャーを最新の状態に保っています
お使いのランチャーのバージョンはオリジンより先行しています
古いコンテナを停止しています
app
2.0.20250226-0128: discourse/base からプルしています
Digest: sha256:6f18aa2cd22bba0deb91d69194e577d4f96130ad555ae8ec646a8792cbfe37db
Status: イメージは discourse/base:2.0.20250226-0128 まで最新です
docker.io/discourse/base:2.0.20250226-0128
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
109:C 13 Jun 2025 15:20:04.997 # oO0OoO0OoO0Oo Redis が起動しています oO0OoO0OoO0Oo
109:C 13 Jun 2025 15:20:04.997 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=109, 起動しました
109:C 13 Jun 2025 15:20:04.997 # 設定が読み込まれました
109:M 13 Jun 2025 15:20:04.997 * 単調クロック: POSIX clock_gettime
109:M 13 Jun 2025 15:20:04.998 * 実行モード=standalone, port=6379.
109:M 13 Jun 2025 15:20:04.998 # サーバーが初期化されました
109:M 13 Jun 2025 15:20:04.999 * バージョン 7.0.7 で生成された RDB を読み込んでいます
109:M 13 Jun 2025 15:20:04.999 * RDB の経過時間 14 秒
109:M 13 Jun 2025 15:20:04.999 * RDB メモリ使用量 (作成時) 2.95 Mb
109:M 13 Jun 2025 15:20:05.007 * RDB の読み込みが完了しました。キーが読み込まれました: 3659、キーが期限切れました: 0。
109:M 13 Jun 2025 15:20:05.007 * DB がディスクから読み込まれました: 0.008 秒
109:M 13 Jun 2025 15:20:05.007 * 接続を受け入れられるようになりました
3649:C 13 Jun 2025 15:22:52.415 # oO0OoO0OoO0Oo Redis が起動しています oO0OoO0OoO0Oo
3649:C 13 Jun 2025 15:22:52.415 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=3649, 起動しました
3649:C 13 Jun 2025 15:22:52.415 # 設定が読み込まれました
3649:M 13 Jun 2025 15:22:52.415 * 単調クロック: POSIX clock_gettime
3649:M 13 Jun 2025 15:22:52.416 # 警告: サーバー TCP リスニングソケット *:6379 を作成できませんでした: bind: Address already in use
3649:M 13 Jun 2025 15:22:52.416 # ポート 6379 (TCP) でのリスニングに失敗しました。中止します。
109:M 13 Jun 2025 15:25:05.035 * 300 秒で 100 件の変更。保存中...
109:M 13 Jun 2025 15:25:05.041 * バックグラウンドで保存が pid 3823 によって開始されました
3823:C 13 Jun 2025 15:25:05.257 * DB がディスクに保存されました
3823:C 13 Jun 2025 15:25:05.257 * RDB 用の Fork CoW: 現在 1 MB、ピーク 1 MB、平均 0 MB
109:M 13 Jun 2025 15:25:05.342 * バックグラウンド保存が正常に終了しました
109:signal-handler (1749828411) SIGTERM を受信し、シャットダウンをスケジュールしています...
109:M 13 Jun 2025 15:26:51.694 # ユーザーがシャットダウンを要求しました...
109:M 13 Jun 2025 15:26:51.694 * 終了前に最終 RDB スナップショットを保存しています。
109:M 13 Jun 2025 15:26:51.710 * DB がディスクに保存されました
109:M 13 Jun 2025 15:26:51.710 # Redis は終了する準備ができました。さようなら...
ブートストラップが終了コード 1 で失敗しました
** ブートストラップに失敗しました ** 上にスクロールして、以前のエラーメッセージを探してください。複数ある場合があります。
./discourse-doctor が問題を診断するのに役立つかもしれません。
5b720b35a25e026d9908c60a2f7c5bcf3725b16a0b282875e8a66ce5ace4d06b

```stderr を添付ファイルとしてアップロードしたいのですが、新規ユーザーのためできません。 pups が関与する抜粋を含むログの最後の部分で十分でしょうか?

2025-06-13 15:26:51.615 UTC [42] LOG: aborting any active transactions
2025-06-13 15:26:51.634 UTC [42] LOG: background worker “logical replication launcher” (PID 56) exited with exit code 1
2025-06-13 15:26:51.634 UTC [51] LOG: shutting down
2025-06-13 15:26:51.637 UTC [51] LOG: checkpoint starting: shutdown immediate
2025-06-13 15:26:51.646 UTC [51] LOG: checkpoint complete: wrote 15 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.003 s, total=0.012 s; sync files=3, longest=0.003 s, average=0.001 s; distance=49 kB, estimate=243 kB
2025-06-13 15:26:51.659 UTC [42] LOG: database system is shut down
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/config.rb:223:in block (2 levels) in run_commands': Invalid run command filename (SyntaxError) from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/config.rb:211:in each’
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/config.rb:211:in block in run_commands' from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/config.rb:210:in each’
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/config.rb:210:in run_commands' from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/config.rb:191:in run’
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:89:in run' from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in
from /usr/local/bin/pups:25:in load' from /usr/local/bin/pups:25:in


問題の解明に役立つような、他に確認すべきことはありますか? ご協力ありがとうございます!

ちなみに、app.yml ファイルを YAML リンターに通してみましたが、何も検出されませんでした。プラグインをすべて無効にした状態で再構築も試しましたが、特に変化はありませんでした。

YML ファイルの一部またはすべてを貼り付けることをお勧めします。パスワードやアクセストークンは必ず削除してください。

という出力は確かに怪しいです。私の YML ファイルは非常にシンプルで、コマンドはありませんが、あなたのファイルは複雑なのかもしれません。

「いいね!」 2

@Ed_Sさん、ありがとうございます。手がかりがあることを願って、YMLを添付しました。

app_yml_redacted.txt (4.7 KB)

ありがとうございます。私が確認できる唯一の点は、私が持っているものが

templates/web.ratelimited.template.yml
であるのに対し、あなたが持っているものが
templates/web.ratelimited-whitelist.template.yml
であるということです。もしかしたら、そのファイルに構文エラーがあるのかもしれません。それは、おそらく、
/var/discourse/templates/web.ratelimited-whitelist.template.yml
にあると思います。ただし、言及されている他のどのテンプレートにも同様に構文エラーがある可能性もあります。

「いいね!」 1

このファイルに絞り込みました:

/var/discourse/templates/web.ratelimited-whitelist.template.yml

以下に貼り付けます。

params:
  reqs_per_second: 12
  burst_per_second: 12
  reqs_per_minute: 200
  burst_per_minute: 100
  conn_per_ip: 20

run:
  - replace:
    filename: "/etc/nginx/conf.d/discourse.conf"
    from: /server.+{/
    to: |
       geo $limit {
           default 1;
           XX.YYY.ZZ.ZZZ 0; # hubprod
           XXX.YY.ZZZ.ZZZ 0; # hubdev
       }

       map $limit $limit_key {
           0 "";
           1 $binary_remote_addr;
       }

       limit_req_zone $limit_key zone=flood:10m rate=$reqs_per_secondr/s;
       limit_req_zone $limit_key zone=bot:10m rate=$reqs_per_minuter/m;
       limit_req_status 429;
       limit_conn_zone $limit_key zone=connperip:10m;
       limit_conn_status 429;
       server {
  - replace:
    filename: "/etc/nginx/conf.d/discourse.conf"
    from: "/location @discourse {/"
    to: |
       location @discourse {
         limit_conn connperip $conn_per_ip;
         limit_req zone=flood burst=$burst_per_second nodelay;
         limit_req zone=bot burst=$burst_per_minute nodelay;

ここに実行コマンドで何かおかしな点はありますか?

あなたのインデントは、私が予想していたものとほんの少し違います。そして、末尾に空行があります。でも、これらが手がかりかどうかは分かりません。

「いいね!」 1

あなたなら、原因を特定するために、このYMLのセクションを二分探索のように削除し始めると良いと思います。いくつか空行と、「replace」セクションが2つありますので、これらを一つずつ削除してみるのが良いかもしれません。まずは主要なセクションを削除することから始めて、問題が絞り込めることを期待しましょう。

「いいね!」 2

Thanks for your help @Ed_S, it turned about to be some poor indentation buried in the YAML file I mentioned above. Not sure why any of the linters didn’t pick up on it, but diffing the problem file versus one in production made the problem clear right away.

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.