./launcher rebuild app エラー: bootstrap が終了コード 234 で失敗しました

サポートありがとうございます。残念ながら、問題は解決しませんでした。

新規ユーザーのために、以下を追加するのは価値があるかもしれません。

  1. コンテナに入る (例: ./launcher enter app

そうしました。そして、pnp はすでにインストールされていました。

root@vtdiscourse-app:/var/www/discourse# pnpm --version
9.5.0

上記に書いたように、すでに実行しましたが、問題は解決しませんでした。

Discourseは2023年4月にインストールされました。
v3.4.0.beta3まで(およびそれ以前)は正常にアップグレードできました。
上記に書いたように、OSはLXCコンテナで、Debian bullseyeに最新のアップデートがインストールされています

インストールされている唯一の拡張機能は、Private Topics Plugin です(まだメンテナンス中で、私の側で各Discourseアップデートとともに最新の状態に保たれています)。

こちらです。

## これは、すべてを1つにまとめたスタンドアロンのDiscourse Dockerコンテナテンプレートです
##
## このファイルを変更した後は、必ず再構築してください
## /var/discourse/launcher rebuild app
##
## 編集する際は、*非常に*注意してください!
## YAMLファイルは、空白や配置の誤りに非常に敏感です!
## 必要に応じて、このファイルを検証するために http://www.yamllint.com/ を参照してください。

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## 次の行のコメントを解除すると、IPv6リスナーが有効になります
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Lets Encrypt (https) を追加したい場合は、これらの2行のコメントを解除してください
  ##- "templates/web.ssl.template.yml"
  - "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## このコンテナはどのTCP/IPポートを公開しますか?
## Apacheやnginxなどの他のWebサーバーとポートを共有したい場合は、
## 詳細については https://meta.discourse.org/t/17247 を参照してください。
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## db_shared_buffers を合計メモリの最大25%に設定します。
  ## 検出されたRAMに基づいてブートストラップによって自動的に設定されますが、オーバーライドすることもできます。
  #db_shared_buffers: "128MB"
  db_shared_buffers: "256MB"

  ## ソートパフォーマンスを向上させることができますが、接続ごとのメモリ使用量が増加します。
  #db_work_mem: "40MB"

  ## このコンテナはどのGitリビジョンを使用しますか? (デフォルト: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 同時に処理できるWebリクエスト数はいくつですか?メモリとCPUコアに依存します。
  ## ブートストラップによって検出されたCPUに基づいて自動的に設定されますが、オーバーライドすることもできます。
  UNICORN_WORKERS: 2

  ## TODO: このDiscourseインスタンスが応答するドメイン名
  ## 必須。DiscourseはIPアドレスのみでは機能しません。
  #DISCOURSE_HOSTNAME: 'discourse.example.com'
  DISCOURSE_HOSTNAME: 'my-discourse-domain.example.com'

  ## 指定されたホスト名(デフォルトは「$hostname-$config」)でコンテナを起動したい場合は、コメントを解除してください。
  #DOCKER_USE_HOSTNAME: true

  ## TODO: 初期サインアップ時に管理者および開発者になるメールアドレスのカンマ区切りリスト
  ## 例: 'user1@example.com,user2@example.com'
  #DISCOURSE_DEVELOPER_EMAILS: 'me@example.com,you@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'my-admin-mail@example.com'

  ## TODO: 新規アカウントの検証や通知の送信に使用されるSMTPメールサーバー
  # SMTPアドレス、ユーザー名、パスワードが必要です。
  # 警告: SMTPパスワードの文字 '#' は問題を引き起こす可能性があります!
  #DISCOURSE_SMTP_ADDRESS: smtp.example.com
  DISCOURSE_SMTP_ADDRESS: my-smtp-server.example.com
  #DISCOURSE_SMTP_PORT: 587
  #DISCOURSE_SMTP_USER_NAME: user@example.com
  DISCOURSE_SMTP_USER_NAME: my-user@my-smtp-server.example.com
  #DISCOURSE_SMTP_PASSWORD: pa$$word
  DISCOURSE_SMTP_PASSWORD: foo(obviously not)
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (オプション、デフォルトはtrue)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (一部のプロバイダーで必須)
  ##DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com    # (通知の送信元アドレス)
  DISCOURSE_NOTIFICATION_EMAIL: my-user@my-smtp-server.example.com    # (通知の送信元アドレス)

  ## Lets Encryptテンプレートを追加した場合、無料のSSL証明書を取得するには以下をコメント解除してください。
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## このDiscourseインスタンスのHTTPまたはHTTPS CDNアドレス(プル用に設定)
  ## 詳細については https://meta.discourse.org/t/14857 を参照してください。
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## IPアドレスルックアップ用のMaxMindジオロケーションIPアドレスキー
  ## 詳細については https://meta.discourse.org/t/-/137387/23 を参照してください。
  ##DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
  DISCOURSE_MAXMIND_LICENSE_KEY: my-key

## Dockerコンテナはステートレスです。すべてのデータは/sharedに保存されます。
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## プラグインはここに配置します
## 詳細については https://meta.discourse.org/t/19157 を参照してください。
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/communiteq/discourse-private-topics.git

## ビルド後に実行するカスタムコマンド
run:
  - exec: echo "カスタムコマンドの開始"
  ## 初回登録の「差出人」メールアドレスを設定したい場合は、コメントを解除して変更してください。
  ## 最初のサインアップメールを受信したら、行を再度コメントアウトしてください。一度だけ実行する必要があります。
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "カスタムコマンドの終了"

何か助けがあれば幸いです。