プラグインインストールの標準手順に従っても、コンテナの再ビルドが繰り返し失敗します。

Discourse の標準インストールを DO で実行しています。すべて問題ありませんでした。その後、この手順に従ってプラグインを 1 つ追加することにしました。

次の行を追加しました。

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git && sudo -E -u discourse git clone https://github.com/discourse/discourse-templates.git

コンテナの再構築に失敗しています。

--------------------
Pups::ExecError: echo "End of custom commands failed with return #<Process::Status: pid 5121 exit 2>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params "echo \"End of custom commands"
bootstrap failed with exit code 2

すべてのコマンドは root として実行されました。問題はここにあると思います。

I, [2024-04-18T04:28:49.985355 #1]  INFO -- : > cd /var/www/discourse/plugins && sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git && sudo -E -u discourse git clone https://github.com/discourse/discourse-templates.git
Cloning into 'docker_manager'...
warning: unable to access '/root/.config/git/attributes': Permission denied
Cloning into 'discourse-templates'...
warning: unable to access '/root/.config/git/attributes': Permission denied

ここについてアドバイスをお願いします。

これなしで試してみてください。

私は単に- git clone ...を持っています

…そしてそれは長年機能しています!

「いいね!」 1

アクセス拒否と表示されます。rootで実行しているか確認してください。

「いいね!」 1

私は、公式のDiscourseプラグインインストールガイドとしてここに公開されているインストールガイドに従っています。すべてのプラグインには、このガイドへのリンクがあります。私の場合は、インストールが破壊され、初期のyml設定で再構築しても回復することさえできませんでした。

root で実行したと確信しています。指示に従った後、インストールが停止し、初期の yml 設定でも再構築できません。

ビルドの失敗で何も破壊されるべきではありません。一時的にオフラインになるだけです。

データベースは無傷のままです。

「いいね!」 2

./launcher start app でフォーラムは起動しますか?

タブか何かを挿入して、ymlが無効になったのだと思います。

エラーは、ymlファイルの最後にある「echo」に関するもので、その前にフォーマットの問題があることを示唆しています。

編集する前にファイルのコピーを保存しましたか、それとも編集して元の状態に戻そうとしましたか?

試せることとして、app.ymlの名前を変更し、値(特にSMTP関連)をメモしてから、./discourse-setupを再度実行してみてください。これにより、動作する app.yml が作成されます。

「いいね!」 2

これでフォーラムが起動します。
./discourse-setup を実行すると、既存のフォーラムデータは保持されますか、それとも最初にバックアップしてから復元する必要がありますか? サポートに感謝します。

はい。既存のデータベースなどはそのまま残ります。これは新しいapp.ymlを作成する方法にすぎません。

@pfaffman および @merefield 様、ご支援ありがとうございます。
問題は2つありました。

  1. クリティカル - YML構文の間違い。YMLバリデーターで修正済み。
  2. クリティカル度は低い - sudo -E -u discourse の代わりに、git clone (root権限下) に置き換えました。

これでプラグインを再構築してインストールできます。
本当にありがとうございました。

「いいね!」 2

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