Ethsim2
(Ethan )
1
Discourse の新規クローンがセットアップされると、リポジトリには standalone.yml が付属しています。
文書化されたワークフローは次のとおりです。
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
./discourse-setup # app.yml を作成します
しかし、誰かが ./discourse-setup をスキップして代わりに次を実行した場合
./launcher bootstrap app
# または
./launcher rebuild app
app.yml が存在しない場合、app.yml が存在せず、standalone.yml が開始点として自動的に認識されないため、混乱を招くエラーが発生します。
これは、新しい管理者が standalone.yml がすでに使用可能であると想定しているため、よくあるつまずきの原因です。
提案:
launcher bootstrap または launcher rebuild が呼び出され、containers/app.yml が存在しない場合、CLI は次のような明確な警告を表示する必要があります。
containers/app.yml が見つかりませんでした。
最初に ./discourse-setup を実行しましたか?
注:app.yml はサンプル standalone.yml ファイルから生成されます。
これにより、新しいユーザーが行き止まりに遭遇し、Meta で回答を探すことを避けることができます。
これは launcher に追加するのに妥当なものですか?
「いいね!」 2
Ethsim2
(Ethan )
2
はい、現在、app.yml を作成せずに ./launcher bootstrap app を実行すると、次のエラーメッセージが表示されるだけです。
ERROR: containers/app.yml does not exist or is not readable.
これは正確ですが、特に次の 2 つの一般的なケースではあまり役に立ちません。
-
新規本番環境インストール
standalone.yml から app.yml を生成するには、./discourse-setup を実行する必要があります。
-
送信メールなしのクイックテストフォーラム
SMTP を設定せずにローカル/テスト用の Discourse を起動したい場合があります。
通常のワークフローは次のとおりです。
./launcher bootstrap app
./launcher start app
./launcher enter app
rake admin:create
これにより、メールを必要とせずに管理者アカウントが作成されます。
提案:
両方のパスをガイドするようにエラーメッセージを改善します。たとえば、次のようになります。
「いいね!」 1
Ethsim2
(Ethan )
3
公式のバックアップ/復元ガイドでは、launcherを実行する前に新しいVPSにapp.ymlを配置するように推奨しています。
そのため、エラーメッセージもそのシナリオをカバーできるかもしれません。現在、ガイドに従っているが、最初にapp.ymlをコピーし忘れた人は、同じ行き止まりに遭遇します。
たとえば、次のようなメッセージはどうでしょうか。
エラー: containers/app.yml が存在しないか、読み取れません。
これが最初のインストールの場合、./discourse-setup を実行して app.yml を生成してください
(サンプル standalone.yml から)。
新しいサーバーに復元している場合は、既存の app.yml を
古いサーバーから /var/discourse/containers にコピーしたことを確認してください。
これにより、メッセージは次の3種類のユーザーを正しい方向に導くことができます。
- 真新しい管理者
- フォーラムを復元している人
- SMTPを設定したくないテスター