Discourse のテスト環境と本番環境における最適なアプローチ

こんにちは、

ガイド に従って、Digital Ocean のクラウドサーバー上に Discourse インスタンスを作成しようとしています。

最初は、Discourse をスリム/デフォルト構成で運用し、段階的に拡張していく予定です。学習のために、テストインスタンスを時々利用したいと考えています。

その際、どちらのアプローチが賢明でしょうか?

  1. リバースプロキシを介した同じサーバー上での運用
  2. マルチサイト構成

これらは、ホスト上でサンドボックスおよびテスト環境の Discourse を運用する というトピックでまとめられています。

最初の選択肢は、1 つのサーバー上に 2 つのスタンドアロンインスタンスを運用する という回答にある通り、より多くの RAM を必要としますが、テスト環境は時々しか使用しないため問題ないと考えています。

この質問に関連する他のトピックも存在します:

  1. 1 つのサーバー内で複数の Discourse インスタンスを運用する
  2. Discourse と同じマシン上で他のウェブサイトを運用する

しかし、これらについてはメリット・デメリットの比較が示されていません。

この取り組みのもう一つの目的は、以下の操作に慣れることです:

  1. バックアップ
  2. 場所の移動(リロケーション)
  3. コンテンツの移行
  4. 設定の移行
  5. 単一の議論(スレッド)の移行

具体的なユースケースとしては、本番インスタンスで何かを議論し、フォーラムの内容(データベース全体)を移動してテストインスタンスで検証した後、変更された設定をコピーし、プラグインのテスト・承認を経て、単一の議論のエクスポート/インポートによって本番環境に戻す、という流れです。

マルチサイトはテストサーバーには役立ちません。プラグインの破損を確認するためにアップグレードすると、両方のサイトが使用不能になります。リバースプロキシの背後にある同じサーバーでも可能ですが、多くの手間がかかります。もしあなたにとって難しくないなら、「複数のDiscourseインスタンス」のいずれかのソリューションが適しているかもしれません。最も簡単な方法は、別のサーバーを用意し、両方が同じS3バックアップバケットを共有して、本番サイトから開発サイトへデータを簡単に復元できるようにすることです。これにより、最新のバックアップから新しいサーバーをすぐに起動できることも確認できます。

それは本当に安いですね :slight_smile: OD のソリューションよりも優れています。DO から S3 へバックアップを自動的にプッシュするにはどうすればよいですか?

どのような問題があるのか教えていただけますか?:upside_down_face:
私たちは当初、低コストのアプローチを採用しています。そのため、

という方法は避けたいと考えています。

その場合、両方のコンテナで同じバックアップボリュームを使用し、S3 バックアップの設定方法を検索する手間を省くことができます。

nginx プロキシという名前、聞いたことがあります。これでどうなるか見てみます :yum:

個人的には、手間や複雑さを最小限に抑えるのが最善策だと思います。単に Droplet を 2 台作成して、これで完了です。

私は1台で試しましたが、確認メールを送信できず終わってしまいました。DigitalOcean + Siteground Email via port 465 won’t work (2525 will work) :face_with_symbols_over_mouth:
そこで、インストールガイドに従って、Mailgunアカウントを含め、最初からやり直しています :face_vomiting: